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 で小さなテスト アプリを 5 分で作成できました。そのアプリを使用すると、(匿名で) 接続して LDAP ストアから結果を読み取ることができましたが、まったく問題ありませんでした。
LDAP と VB6 の組み合わせの経験があり、何が問題なのか知っている人はいますか? 私はググっていくつかのサンプルコードスニペットを見ましたが、残念ながらどれも機能しませんでした (結果として同じエラーメッセージが表示されます)。前もって感謝します!