如何使用Java从IBM Lotus Notes数据库导出数据

问题描述:

我想从位于本地计算机上的Lotus Notes数据库.nsf导出数据。我想写一个java程序,它将连接到这个.nsf莲花笔记数据库并从视图/表单导出数据。如何使用Java从IBM Lotus Notes数据库导出数据

我不知道该怎么做?是否有我可以参考的示例代码或JDBC-ODBC驱动程序?

我发现主题的文章 “编写独立的Java代码连接到IBM Lotus Domino的”

http://www-10.lotus.com/ldd/dominowiki.nsf/dx/06082009125716AMWEB7TU.htm

你确实有两个问题/问题。 1)如何使用Java连接到Notes数据库 2)如何将数据从文档导出(让我们用正确的术语,形式是一个设计元素,数据存储在文件

对于1)有大量的示例代码可用,例如他的回复中提到的链接中毒Youth。

对于2)我建议查看Domino Designer帮助中的示例。您需要首先了解Domino对象模型(DOM),并知道如何存储数据。

但你可能会做这样的事情:

  • 创建一个新的NotesSession对象
  • 从会话
  • 得到一个NotesDatabase的对象从数据库中获取一个为NotesView对象

现在,您可以采用不同的方式,具体取决于您想要执行的操作以及视图中显示的项目等内容。

如果你想出口的所有领域都显示在视图中,我这样做:

  • 通过收集来自观统领NotesViewEntryCollection文件
  • 使用GetFirstEntry和GetNextEntry方法循环并获得单个条目
  • 使用NotesViewEntry对象的ColumnValues属性来获取视图中显示的值,然后按照需要的方式导出这些值。

如果你没有在视图中显示的所有值,使用这个(慢)方法:

  • 使用GetFirstDocument和GetNextDocument方法来遍历所有的NotesDocuments视图
  • 对于每个文档,请使用GetItemValues读取字段值(请记住,所有字段值均作为数组返回,即使它们只包含一个值),然后按照您喜欢的方式导出它们。

从Notes导出数据是一个非常普遍的过程,您应该能够找到大量的代码。 我有可用的工具(它不是开源的,虽然)这里:http://www.texasswede.com/websites/texasswede.nsf/Page/Notes%20XML%20Exporter

我也贴在我的博客的代码,你可以看看和修改:http://blog.texasswede.com/export-notes-view-to-excel-with-multi-value-fields/

我建议尝试IBM安全Directory Integrator的(前Tivoli Directory Integrator或TDI)。它是专门为您的目的而构建的集成工具。

SDI使用所谓的装配线进行操作,其中您有一个或多个源和一个或多个目的地。在你之间你可以操纵你的数据到你的心中。

某些TDI/SDI版本免费提供最新版本的IBM Domino。 查看这些网站的详细信息:

祝你好运! Ove