如何访问删除存根(unids)?

时间:2015-05-28 09:57:41

标签: lotus-domino

我有一个Java代理将Notes文档与MS SQL表中的行同步。插入新文档并更新dokuments,但我没有找到处理已删除文档的好方法。我使用JDBC。 我现在这样做的方法是在两侧创建一个unid列表,并删除SQL表中Notes中不存在的行。 如果我可以访问删除存根列表,那将更容易和更好的性能。代理每天运行。 该表包含500.000行,每次运行中有50-100个删除。

2 个答案:

答案 0 :(得分:1)

确保捕获所有删除的唯一100%万无一失的方法是使用Notes C API Extension Manager功能来安装服务器加载项以处理NSFNoteDelete调用的EM_BEFORE事件。您可以使用OpenNTF TriggerHappy项目中的附加代码来简化此操作,并允许您编写大部分实际逻辑Java而不是C.您的代码只需要从中捕获所需的信息。即将删除的文档(即UNID,如果这就是你需要的全部内容),并将其记录在另一个可以通过JDBC查询的数据库中。完成同步后,您还可以通过JDBC清理该数据库。

答案 1 :(得分:0)

使用JDBC你不能。

您可能尝试做的是编写一个代理,该代理将在已分离的DB中构建已删除文档的所有NoteID的列表,并通过JDBC获取此列表。 我认为你只能获得NoteID(不是UNID),因此我建议你也将它们存储在MS SQL中。

查看http://www-10.lotus.com/ldd/nd6forum.nsf/55c38d716d632d9b8525689b005ba1c0/8210fa46540ecbbf852572b40044bb3e?OpenDocument开始构建Domino端代理。