Windows 操作系统之间的LDAP连接差异

Windows 操作系统之间的LDAP连接差异,windows,vb6,Windows,Vb6,我有相同的方法在两个不同的系统上执行LDAP查询。方法非常简单: Public Function AutenticaDominio(ByVal user As String, ByVal ambiente As String) As String Dim Comm As New ADODB.Command Dim conn As New ADODB.connection Dim rs As New ADODB.Recordset Dim codiceBanc

我有相同的方法在两个不同的系统上执行LDAP查询。方法非常简单:

Public Function AutenticaDominio(ByVal user As String, ByVal ambiente As String) As String


    Dim Comm As New ADODB.Command
    Dim conn As New ADODB.connection

    Dim rs As New ADODB.Recordset
    Dim codiceBanca As String

    Dim currentAmbiente As String
    Dim currentName As String
    Dim trovato As Boolean
    Dim UserName As String

    Set conn = CreateObject("ADODB.Connection")
    conn.Provider = "ADsDSOObject"
    conn.Properties("User ID") = "XXX"
    conn.Properties("Password") = "XXX"
    conn.Open "DS Query", "XXX", "XXX"
    Set Comm = CreateObject("ADODB.Command")
    Set Comm.ActiveConnection = conn
    Comm.CommandText = "SELECT SBAcodicebanca FROM 'LDAP://abc.cde.fgh.it/ou=bank,dc=cde,dc=it' WHERE uid = '" & user & "' and SBAelencoambienti = 'sbacodicesottoambiente=GEST,sbacodiceambiente=PROT,ou=applicazioni,dc=cde,dc=it'"
    rs.CursorLocation = adUseClient
    Set rs = Comm.Execute

    If rs.EOF = False Then
       If rs.Fields.Item(0) = "099" Then
          Autentica = rs.Fields.Item(0)
          Exit Function
       Else
               Autentica = ""
       End If
    Else
        Autentica = ""
    End If

End Function
在rs.execute语句中,返回一个“未指定的错误”,我在windows XP上运行该方法。该方法在Windows7上运行良好

项目是相同的,具有相同的引用和组件


有人知道哪里会出错吗?

我终于找到了这个解决方案:从标准SQL切换到LDAP查询语法。它起作用了!