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

时间:2014-10-20 04:01:06

标签: java lotus-domino lotus lotus-notes

我想从本地计算机上的Lotus Notes数据库.nsf导出数据。我想写一个java程序,它将连接到这个.nsf lotus notes数据库并从视图/表单中导出数据。

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

3 个答案:

答案 0 :(得分:3)

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

1)有很多可用的示例代码,例如他的回复中引用的链接poisonedYouth。

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/

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

SDI使用所谓的装配线进行操作,您可以在其中拥有一个或多个来源以及一个或多个目的地。在这两者之间,您可以根据自己的心愿操纵数据。

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

祝你好运! OVE