从lotus notes数据库中获取表名

Gab*_*iel 4 java odbc lotus-notes jdbc

我正在尝试编写一个程序,通过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);
}
Run Code Online (Sandbox Code Playgroud)

是否有更好的方法通过NotesSQL连接Lotus Notes数据库?因为我的代码只null获取名称的值...

ang*_*guy 7

我知道你正在尝试使用JDBC和NotesSQL.但是,根据您的需求,并使用Eclipse,您可以通过本地的Java,坦率地说是比很多尝试,当你使用JDBC使用Domino使用JDBC,方钉位为圆孔更容易访问Notes数据库.即使您没有在主机上安装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的本机查询的明确指令,但我已经设法在这里找到它.