簡體   English   中英

從lotus notes數據庫中獲取表名

[英]Get table names from lotus notes database

我正在嘗試編寫一個程序,通過NotesSQL驅動程序將整個Lotus Notes數據庫轉儲到一個文件中。 我通過jdbc連接:odbc並且有

我可以從Lotus Notes數據庫執行選擇和獲取數據

這是代碼

try {
    System.out.print("Connecting... ");
    Connection con = DriverManager.getConnection("jdbc:odbc:NRC", "UserName", "Passw0rd1337");
    System.out.println("OK");
    DatabaseMetaData dmd = con.getMetaData();
    String[] tableTypes = new String[] {"TABLE", "VIEW"};
    ResultSet rs = dmd.getTables(null, null, "%", tableTypes);
    ResultSetMetaData rsd = rs.getMetaData();
    while (rs.next()) {
        for (int i=1; i<=rsd.getColumnCount();i++)
            System.out.println(i+" - "+rsd.getColumnName(i) + " - " + rs.getString(1));
    }
    con.close();
    System.out.println("Connection closed");
} catch (Exception e) {
    System.out.println(e);
}

是否有更好的方法通過NotesSQL連接Lotus Notes數據庫? 因為我的代碼只獲得名稱的null值...

我知道你正在嘗試使用JDBC和NotesSQL。 但是,根據您的需求和使用Eclipse,您可以通過Java本地訪問Notes數據庫,這比嘗試使用JDBC更容易,當您在使用JDBC與Domino時,在圓孔中使用方塊。 即使您沒有在主機上安裝Lotus Notes,您仍然可以編寫和部署Java applet和servlet以獲取數據。

但是,您需要獲取相關的Lotus Domino jar。 因此,我的建議是JDBC的替代方法。

因此,如果您在Eclipse項目中擁有Lotus Domino jar文件,那么您應該能夠從視圖中編寫任何類型的提取,甚至可以在數據庫上運行adhoc搜索。

設定

如果這聽起來像你需要去,那么首先的方向,看看有關注意事項JAR的設置Eclipse 在這里 只有少數。 (有時你會讀到關於使用CORBA和/或IIOP的內容。試着避免這種情況,這只是一個受傷的世界)。

樣品和片段

這篇開發人員的作品(盡管已有6年歷史)仍然適用於Domino,並且是我所倡導的方法的堅實基礎。 那篇文章開始討論NotesFactory和Session類的初始化,以引導您進入Notes API。 更多的在線幫助這里的NotesFactory類。

如果您有可用的Lotus Notes客戶端,可以在此處查看代碼段。 可以在此處找到通過Java中的Views訪問文檔的典型示例。

之后,您可以使用此處的示例輕松訪問視圖和文檔,並向大師(Bob Balaban)學習有關內存管理的信息

如果您正在處理高容量或運行servlet,那么內存管理很重要,否則不要過分強調它。 您可以通過在公式中編寫,然后使用“ 搜索 ”方法本機執行查詢來對Notes數據庫執行本機搜索。

迭代文檔或視圖?

最簡單的方法是通過視圖遍歷文檔和/或使用“ getdocumentByKey ”方法來獲取集合並對其進行處理。 在Domino中,“Views”等同於Tables。 您還可以通過Database.Views屬性獲取視圖列表

本機查詢

很難找到關於Notes的本機查詢的明確指令,但我已經設法在這里找到它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM