查找和删除Lotus Notes数据库中的重复项

时间:2013-09-06 19:10:09

标签: java lotus-notes

我对莲花笔记很新。最近,我的团队成员面临着关于Lotus Notes中Duplicates的问题,如下面的CASE A和CASE B所示。

enter image description here

所以我们买了一个名为scanEZ(Link About scanEX)的应用程序。使用此工具,我们可以删除第一次出现或第二次出现。与情况A和案例B一样,第二项被认为是多余的,因为它们没有孩子。因此,我们可以删除下面给出的所有第二项,从而删除重复项。 enter image description here 但是在案例3中,订单被更改,子项目首先出现,而Parent项目排在第二位,因此我无法使用scanEX应用程序。

还有其他更好的方法或软件或脚本来完成我的任务。由于我是这个领域的新手,我不知道。请帮助我。

提前致谢。

3 个答案:

答案 0 :(得分:4)

可能最简单的方法是强制视图始终首先显示带有子项的文档。这样,您购买的工具将始终如一地为您服务。您可以通过在已圈出的列的右侧添加隐藏的已排序列来执行此操作。此列中的公式为@DocChildren,列的排序选项将设置为“降序”。 (请注意,如果您对此视图中的更改感到不舒服,可以复制它,在副本中进行更改,并对副本运行ScanEZ。您也可以在本地副本中执行所有这些操作。数据库,只有在您感到满意时才能将其复制回服务器。)

另一种方法是使用Notes类在LotusScript或Java中编写自己的代码。您可以通过许多不同的方式编写该代码,

答案 1 :(得分:1)

我同意理查德的回答。如果您想了解有关如何通过文档集合的更多详细信息,可以将文档隔离到仅显示重复项的视图中。然后编写代理以查看文档的UNID,修改日期和其他此类数据元素,以确保您获取最后更新的文档。我会在FLAG ='keep'中为文档添加一个字段。然后使用第二个代理删除文档中没有标记的文档。如果采用这种方法,您通常可以在其他数据库中使用相同的代理。

由于您不熟悉Notes,请记住Notes是一个文档数据库。有几种不同的冲突,如保存冲突或复制冲突。您还需要查看有关如何处理重复项的数据库设置。我会阅读这些主题,以便您可以向您的同事/项目经理解释。

最终在您经常旅行的数据库中,您可以在处理重复数据源之后自动执行此过程。

答案 2 :(得分:1)

这些显然不重复。

复制品的定义是它们是相同的,因此保留哪一个以及删除哪一个并不重要。对你来说,一个人有孩子的事实使它变得更重要,这意味着他们不是纯粹的重复。

如果有多个具有相似日期/主题的文件有孩子(如果你愿意,可以是案例D),你没有说明你想做什么。

对我而言,这似乎是三个不同的问题。

  • 第一个问题是解决多个案例 集合中的文档有孩子。
  • 然后理清一组中只有一个文档有子项的情况。
  • 然后理清一组中没有文件有孩子的情况。

每种情况下的方法都不同。 Ytira的文章只涵盖了最后一个案例。