防止NotesDocument在打开时寻找冗余服务器

时间:2018-10-31 17:07:27

标签: lotus-notes lotus-domino lotusscript

我有一个中等程度的旧应用,该应用已移至新服务器,并且旧服务器已停用。

每个对旧服务器的编程引用都已重新指向新服务器。当用户打开数据库中的任何文档时,在放弃并转到新服务器之前,我可以看到静默尝试引用旧服务器。

我尝试调试以查看是否可以跟踪可能执行此操作的代码,但这是在调试器启动之前发生的。我认为可能是工作区或书签,但是用全新的替换了它们,我仍然得到相同的结果。

关于我还能检查什么的任何想法?

编辑:

在使用副本ID引用数据库的计算字段中找到了一些@DbColumns。该数据库也出现在新服务器上。

1 个答案:

答案 0 :(得分:0)

如果@DbColumn@DbLookup公式使用副本ID,则Notes客户端会记住上一次从哪个数据库打开引用的数据库,并继续尝试使用该服务器。 最后使用的服务器应该是每个相关数据库在工作空间中显示为当前服务器的服务器。如果相关数据库的 none 中没有显示旧服务器,那么我不知道发生了什么。

假设一个或多个相关数据库仍在工作区中显示旧服务器,通常的解决方案是从受影响的客户端上的新服务器中手动打开每个引用的数据库,但是还有其他解决方案。

一种自动修复这些引用的方法是让某些LotusScript在用户打开主数据库时运行,这些脚本使用NotesDatabase.OpenByReplicaID在正确的服务器上查找相关数据库,并使用NotesUIWorkspace.AddDatabase设置工作区图标到该服务器。这种代码可能需要花费几秒钟的时间,所以我建议设计一种通过配置来控制它的方法。

另一种选择是诸如Panagenda MarvelClient之类的商业第三方工具,但我没有亲自使用该工具或类似工具,也无法评论其长期价值。
(免责声明:我的雇主是Panagenda的合伙人。)