Dblookup不工作

时间:2015-01-08 01:51:10

标签: web lotus-domino lotus

temp:=@DbLookup("Notes":"NoCache";"ARRoW/SSS":"sss/sssProj.nsf";"(Lookup for Community)";"State of Maine";2);

temp1:=@DbLookup("Notes":"NoCache";"ARRoW/SSS":"sss/sssProj.nsf";"(Lookup for Community)";"State of Maine";3);

temp2:=@DbLookup("Notes":"NoCache";"ARRoW/SSS":"sss/sssProj.nsf";"(Lookup for Community POC)";"State of Maine";4);

@If(@IsError(temp)|@IsError(temp1)|@IsError(temp2);"Error";temp + " " + temp1 + " " + temp2)

您好,这适用于Lotus Notes客户端,但不能在网上工作任何帮助都可以提前感谢!

1 个答案:

答案 0 :(得分:2)

对于这样的事情,通常有三种类型的根本原因。

一类问题是服务器信任。这仅适用于涉及两个服务器的情况。即,Web服务器是ServerX / SSS,代码正在尝试访问ARRoW / SSS。您需要查看ARRoW / SSS的服务器文档,并检查“可信服务器”字段中是否列出了“ServerX / SSS”。 (另请注意,如果这是一个非常非常旧的Domino版本 - 如果我没记错的话,那么在版本6之前 - 那么可信服务器功能就不存在了,你不能在Web代码中对@DbLookup进行跨服务器调用。)

第二类问题是运行代码的服务器无法解析数据库所在服务器的名称。代码正在访问服务器ARRoW / SSS,但您还没有说ARRoW / SSS是否是实际的Web服务器,所以让我们看看这两种情况。

假设这一切都发生在一台服务器上,由于公式编码的方式,仍然可能存在名称解析问题。尝试指定“”:“sss / sssProj.nsf”而不是“ARRoW / SSS”:“sss / sssProj.nsf”。如果这可以解决您的问题,那太好了!但这意味着您的服务器文档或Domino服务器上的DNS配置仍然存在问题,您应该解决这个问题。您应该继续我在下一段中给出的故障排除。请记住,即使ServerX / SSS与Arrow / SSS真的相同,我所说的一切都是正确的。

如果代码在Web服务器ServerX / SSS上运行,则需要确保ServerX可以连接到ARRoW / SSS。最简单的方法是打开ServerX的控制台并输入命令'trace ARRoW / SSS'。如果失败,请检查服务器文档和/或连接文档以获取正确的IP地址或主机名,并在服务器上打开命令窗口并使用服务器文档中的确切信息尝试ping。如果失败,则表明存在网络问题。我遇到过这样一个问题的根本原因之一是没有连接文档(因为服务器位于同一个命名网络中,但是在网络表中都没有输入IP地址和完全限定的主机名在服务器文档中,所以Domino只是要求DNS解析通用名称'ARRow' - 但是Web服务器上的DNS配置不包含默认搜索路径,因此名称没有解析。但是你需要检查所有内容,直到你可以得到'追踪'命令才能成功。

第三类问题是访问控制。这是一个广泛的类别,可归结为代码在其下运行的标识无法访问服务器ARRoW / SSS,数据库sss / sssProj.nsf,视图(查找社区)“或关键字“缅因州”的文档。要检查的内容很多。如果代码在字段公式中运行,则标识是用户的标识,如果同一用户没有收到错误然后,您需要查看sss / sssProj.nsf的数据库属性并检查最大Web访问级别。如果代码作为代理运行,则需要检查代理属性以确定代理的身份运行,然后检查所有内容:服务器文档中的安全设置,数据库ACL,视图限制以及文档中的读者姓名字段。