我在将 Visual Basic (6) 与 LDAP 结合使用时遇到了问题。当我尝试连接到 LDAP 存储时,我总是会收到诸如“路径名错误”或“表不存在”之类的错误(取决于代码的样子)。
这是我编写的连接代码的一部分:
path = "LDAP://xx.xxx.xxx.xxx:xxx/"
Logging.WriteToLogFile "Test1", logINFO
Set conn = CreateObject("ADODB.Connection")
conn.Provider = "ADsDSOObject"
conn.Properties("User ID") = "USER_ID"
conn.Properties("Password") = "PASSWORD"
conn.Properties("Encrypt Password") = True
conn.Properties("ADSI Flag") = 34
Logging.WriteToLogFile "Test2", logINFO
conn.Open "Active Directory Provider"
Logging.WriteToLogFile "Test3", logINFO
Set rs = conn.Execute("<" & path & "ou=Some,ou=Kindof,o=Searchbase>;(objectclass=*);name;subtree")
Logging.WriteToLogFile "Test4", logINFO
日志文件显示“Test1”、“Test2”、“Test3”,然后是“表不存在”,因此出现问题的是“Set rs = conn.Execute(...)”行(很明显...)。
在我的代码中,我尝试以安全的方式进行连接。我发现它与 SSL/证书无关,因为也无法建立匿名的不安全连接。有趣的是:我在 .NET 中用五分钟编写了一个小型测试应用程序。使用该应用程序,我能够(匿名)连接并从 LDAP 存储读取结果,完全没有问题。
有没有人对 LDAP 和 VB6 的组合有任何经验,也许知道可能是什么问题?我用谷歌搜索并看到了一些示例代码片段,但不幸的是它们都不起作用(与结果相同的错误消息)。提前致谢!