当前位置: 首页 > 面试题库 >

从Lotus Notes数据库获取表名

王经赋
2023-03-14
问题内容

我正在尝试编写一个程序,该程序将通过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文件,您就应该能够对视图中的任何类型的提取进行编码,甚至可以在数据库上运行即席搜索。

建立

如果这听起来像是您需要走的路,那么首先,请看这里使用相关的Notes jar的设置Eclipse
。只有少数。(有时您会读到有关使用CORBA和/或IIOP的信息。请尽量避免这种情况,这真是一个痛苦的世界)。

样本和摘录

这篇开发人员的文章(尽管已有6年的历史了)仍然适用于Domino,并且为我提倡的方法奠定了坚实的基础。这篇文章开始介绍NotesFactory和Session类的初始化,以使您进入Notes
API。有关NotesFactory类的更多联机帮助,请参见此处。

如果您有可用的Lotus
Notes客户端,则可以在此处浏览代码段。在此处可以找到通过Java中的Views访问文档的经典示例。

之后,您可以从此处轻松访问带有示例的Views和文档,并向此处的宗师(Bob
Balaban)学习有关内存管理的信息。

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

遍历文档或视图?

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

本地查询

在Notes的本机查询中很难找到明确的说明,但是我设法在这里在线找到了它。



 类似资料:
  • 问题内容: 我已经搜索了许多网站,但没有遇到任何从单个数据库获取表名的细节的代码或教程。 假设我有4个数据库,并且我想要数据库中所有表的名称,我可以使用什么查询? 问题答案:

  • 问题内容: 如何获得特定表中的列名列表? IE。 火鸟表: 得到这样的列表: 问题答案: 如果要获取特定表中的列名列表,则这是您需要的sql查询: 我在firebird 2.5中尝试过此方法,并且可以正常工作。 顺便说一句,YOUR-TABLE-NAME周围的单引号是必需的

  • 本文向大家介绍node.js从数据库获取数据,包括了node.js从数据库获取数据的使用技巧和注意事项,需要的朋友参考一下 本文需要用node.js做一个从Sqlserver获取数据并显示到页面上的小功能,下面就为大家分享: app.js: 接下来就直接在页面中使用get方式请求即可,当然post方式也是类似原理。 还有我发现textarea控件在改变其text和html属性的时候,value还保

  • 问题内容: 我对数据库及其在CRUD操作之外提供的功能不是很熟悉。 我的研究使我 引人注目 。基本上,触发器似乎提供了这种类型的功能: (来自维基百科) 通常,有三个触发事件导致触发器“触发”: INSERT事件(将新记录插入数据库中)。 UPDATE事件(因为记录正在更改)。 DELETE事件(因为一条记录正在被删除)。 我的问题是:当使用某种触发语义对记录进行更新/删除/插入时,数据库是否可以

  • 问题内容: 我有一个包含html表单的网站,在此表单中,我有一个下拉列表,其中包含在该公司工作的代理的列表,我想从MySQL数据库中获取数据到该下拉列表,因此当您添加新代理时,他的名字将会出现作为下拉列表中的一个选项。 您能帮我编码这个php代码吗,谢谢 问题答案: 为此,您要遍历查询结果的每一行,并将此信息用于下拉菜单的每个选项。您应该能够轻松调整以下代码,以满足您的需求。

  • 我想创建一个包含类别的列表,并将类别悬停在需要显示子类别的类别上。我能够在列表中显示父类别。但我不知道如何获得子类别。在我的表中有category\u id、parent\u id列和一些其他列。如果父类别id为“0”,则它是主类别,对于子类别,它包含类别id。因此,现在我需要显示主类别的子类别。我不明白该如何进行。谁能给我提建议。