微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以在通过目录服务定义的辅助 Domino 目录上使用 NotesDirectory.LookupNames 吗?

如何解决我可以在通过目录服务定义的辅助 Domino 目录上使用 NotesDirectory.LookupNames 吗?

在 LotusScript 驱动的应用程序中,我们大量使用 NotesDirectory.LookupNames 来创建 DirNavs 并从个人文档中检索数据。只需使用服务器的主 NAB 即可正常工作:我们使用 ($Users) 视图进行查找,然后从匹配的个人文档的字段中返回值。

现在我们必须扩展它,以便我们也能够查找存储在辅助 NAB 中的人员。此辅助 NAB 将复制到运行应用程序的服务器,并设置目录服务。 AFAIK DA 基本正常工作(例如,可以在标准名称对话框中选择辅助 NAB),辅助 NAB 似乎是一个完整的目录;至少数据库属性表明它是“Domino 目录”类型的数据库

问题是:如果我们要查找存储在辅助 NAB 中的名称,则使用 NotesDirectory.LookupNames 不会产生任何结果,而查找存储在主要 NAB 中的名称仍然有效

运行在 V 11.0.1 上的服务器;所有 NAB 和 da.nsf 都在运行更多或最新的设计(从位于 V 10.0.1 服务器上的模板运行设计刷新)

主要问题是:这应该首先起作用吗? 该课程的文档只提到了“目录”,所以我认为这应该是可能的。 非常欢迎任何提示

-- 更新 2021-02-24 --

为了完整性,这里是 Scott 建议的(更正的)测试代理代码用户 #1 来自主目录,而 #2 来自辅助目录

Sub Initialize
    Dim sn As New NotesSession
    Dim nDir As NotesDirectory
    Dim nDirNav As NotesDirectoryNavigator
    Dim sKey As String,sVw As String,sSrv As String
    Dim vItems As Variant,vItem As Variant,vResult As Variant,vKeys As Variant
    Dim i As Integer
    
    sVw = "($Users)"
    sSrv = "devtest/edcomTest"
    Set nDir = sn.Getdirectory(sSrv)
    nDir.Searchalldirectories = True 'Not really necessary,but doesn't hurt either
    ReDim vKeys(1)
    vKeys(0) = "sautor1"
    vKeys(1) = "Veronika.Test@edcomtest.de"
    ReDim vItems(2)
    vItems(0) = "Type"
    vItems(1) = "FullName"
    vItems(2) = "ShortName"
    ReDim vResult(0)
    
    Set nDirNav = nDir.Lookupnames(sVw,vKeys,vItems,False)
    do while nDirNav.Namelocated
        do while nDirNav.Matchlocated
            vItem = nDirNav.Getfirstitemvalue()
            vResult(0) = vItem(0)
            'Looping the other items
            For i=1 To 2
                vItem = nDirNav.Getnextitemvalue()
                vResult = ArrayAppend(vResult,vItem(0))
            Next
            Call nDirNav.Findnextmatch()
        Loop
        Call nDirNav.Findnextname()
    Loop
    
    Print Join(vResult,"; ")
    
End Sub

解决方法

我非常尴尬,因为这个“失败”的原因是用户名称中的一个简单的错字,我只是将“Veronika”拼错为“Veronica”...... (上面的代码片段中已经更正了)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。