【问题标题】:error message: Database X has not been opened yet错误信息:数据库 X 尚未打开
【发布时间】:2017-02-14 09:54:39
【问题描述】:

例如,我有 2 台服务器:A 和 B 在服务器 A 上,我创建了一个 Lotus 代理,我在其中从视图中选择文档并将其复制到服务器 B。当我从服务器 A 手动运行此代理时,它就可以工作了。但是当我安排代理时,我在这行代码上得到一个错误:

Call toDatabase.Open("CN=B","dasdar.nsf")

14-02-2017 09:20:11   AMgr: 'Administrator/as' is the agent signer of agent 'copyDocumentsToB' in 'dasdar.nsf'
14-02-2017 09:20:11   AMgr: 'Agent 'copyDocumentsToB' in 'dasdar.nsf' will run on behalf of 'Administrator/as'
14-02-2017 09:20:11   AMgr: Agent 'copyDocumentsToB' in database 'dasdar.nsf' signed by 'Administrator/as' is running in Full Administrator mode
14-02-2017 09:20:11   AMgr: Agent ('copyDocumentsToB' in 'dasdar.nsf') error message: Database CN=B!!dasdar.nsf has not been opened yet

它与访问权限有关吗?我对 IBM Notes 管理的了解不是很好。感谢您的帮助。

【问题讨论】:

    标签: lotus-domino lotusscript lotus


    【解决方案1】:

    将服务器 A 添加到服务器 B 在 server document's security tab 上的“受信任的服务器”字段。

    【讨论】:

    • 在服务器 B 上我有配置 > 所有服务器文档 > 服务器 A,然后在安全选项卡下我有这个设置:访问服务器:所有用户都可以访问这个服务器但仍然是同样的错误。
    • 不是“访问服务器”而是“受信任的服务器”。这是安全选项卡上的最后一个字段。
    • 然后查看服务器 B 的服务器文档,而不是服务器 A 的服务器文档。
    • 解释:当你手动运行它时,实际上是运行它,而不是服务器A运行它。它以您的身份运行,因此以您的权限运行。当它实际在服务器 A 上运行时,它以服务器 A 的身份运行,但它向服务器 B 提供了代理签名者的身份,由于服务器 B 实际上并没有验证签名本身,它必须相信服务器 A 是说出签名者身份的真相。只有当服务器 A 在其(服务器 B 的)服务器文档中列为受信任服务器时,它才会这样做。这就是为什么你需要按照 Knut 告诉你的去做。
    猜你喜欢
    • 1970-01-01
    • 2015-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    • 2011-05-01
    • 1970-01-01
    相关资源
    最近更新 更多