【问题标题】:Get table names from lotus notes database从 lotus notes 数据库中获取表名
【发布时间】:2011-07-27 00:19:19
【问题描述】:

我正在尝试编写一个程序,通过 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 名称的值...

【问题讨论】:

    标签: java jdbc odbc lotus-notes


    【解决方案1】:

    我知道您正在尝试使用 JDBC 和 NotesSQL。但是,根据您的需要,使用 Eclipse,您可以通过 Java 本地访问 Notes 数据库,坦率地说,这比尝试使用 JDBC 容易得多,当您将 JDBC 与 Domino 一起使用时,这有点像圆孔中的方钉。即使您没有在主机上安装 Lotus Notes,您仍然可以编写和部署 java applet 和 servlet 以获取数据。

    不过,您需要获取相关的 Lotus Domino jar。所以,我的建议是 JDBC 的替代方法。

    因此,如果您的 Eclipse 项目中有 Lotus Domino jar 文件,您应该能够对视图中的任何类型的提取进行编码,甚至可以在数据库上运行即席搜索。

    设置

    如果这听起来像是您需要走的方向,那么首先,看看使用相关 Notes jar 的 here 设置 Eclipse。只有几个。 (有时您会阅读有关使用 CORBA 和/或 IIOP 的信息。尽量避免这种情况,这只是一个充满伤害的世界)。

    样本和sn-ps

    Thisdeveloperworks 文章(虽然已有 6 年历史)仍然适用于 Domino,并且为我所提倡的方法奠定了良好的基础。那篇文章开始介绍 NotesFactory 和 Session 类的初始化,以便让您进入 Notes API。 NotesFactory 类的更多在线帮助here。

    如果您有可用的 Lotus Notes 客户端,您可以通过代码 sn-ps here 查看。在 Java 中通过 Views 访问文档的经典示例可以在 here 找到。

    之后,您可以通过here 的示例轻松访问视图和文档,并向大师 (Bob Balaban) 学习内存管理here。

    如果您正在处理大量数据或运行 servlet,那么内存管理很重要,否则不要过分强调它。您可以通过将 Notes 数据库写入公式来执行本地搜索,然后使用“search”方法本地执行查询。

    遍历文档或视图?

    最简单的方法是通过视图遍历文档和/或使用“getdocumentByKey”方法获取集合并进行处理。在 Domino 中,“视图”相当于表。您还可以通过Database.Views 属性获取视图列表

    本机查询

    很难找到有关 Notes 本地查询的明确说明,但我设法在网上找到了它here。

    【讨论】:

    • 你是最棒的!我正在寻找这些信息,非常感谢!!!
    • 通过 Java 访问 Notes 是 IBM 实际上做对的事情之一。一旦你知道了入口点和设置,这很容易。 Domino 基本上是一个大的平面表结构,带有用于过滤文档的视图。以这种方式思考它会使它更容易掌握。很高兴它适合你...... :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多