我想从Notes数据库中获取所有冲突文档。到目前为止,我有这个:
Domino.NotesSession notesSession;
Domino.NotesDatabase notesDatabase = this.OpenDatabase(out notesSession);
Domino.NotesDateTime dateTime = notesSession.CreateDateTime(String.Empty);
Domino.NotesDocumentCollection results =
notesDatabase.Search(this.SearchString, dateTime, 0);
它适用于,例如:
searchString = "@Contains(ShortName;\"Bob\")";
如何处理冲突文件的等效文件?
答案 0 :(得分:5)
试试这个:
searchString = "@IsAvailable($Conflict)";
答案 1 :(得分:2)
文档上有一个字段将任何Notes文档标记为名为“$ Conflict”的冲突。如果它出现在文件中,那么你就知道这是冲突,(就像卡洛斯所说的那样)。
您可以在数据库中创建具有公式的视图。
选择@isAvailable(“$ Conflict”)
然后遍历视图中的所有文档。看起来你是用Java做的,所以我觉得它看起来像这样
import lotus.domino.*;
import java.util.*;
//.....
//.....
Session s = NotesFactory.createSession();
Database db = s.getDatabase("server", "filename");
View vw = db.getView("viewname");
Document doc = null;
doc = vw.getFirstDocument();
while (doc != null) {
// do what you want in here.
doc = vw.getNextDocument(doc);
}
您需要确保已将Domino jar添加到项目中。 This是为Domino Java开发设置eclipse IDE的一个很好的参考。
PS。您还可以修改数据库的设计以最大限度地减少复制冲突。但我不会在这里详细介绍你。发表评论,如果您想知道并生病,请提供有关此主题的说明。