Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O dialeto LDAP é um formato para instruções de consulta que usam a sintaxe do filtro de pesquisa LDAP . Use uma instrução de consulta LDAP com as seguintes interfaces de pesquisa ADSI:
- O ActiveX Data Object (ADO) interfaces, que são interfaces de automação que usam OLE DB.
- OLE DB, que é um conjunto de interfaces C/C++ para consultar bancos de dados.
- IDirectorySearch, que é a interface C/C++ para o Ative Directory.
Uma cadeia de caracteres do dialeto LDAP consiste em quatro partes separadas por ponto-e-vírgula (;).
Nome distinto de base. Por exemplo:
<LDAP://DC=Fabrikam,DC=COM>Filtros de pesquisa LDAP. Para obter mais informações sobre filtros de pesquisa, consulte Sintaxe do filtro de pesquisa.
O nome de exibição LDAP dos atributos a serem recuperados. Vários atributos são separados por uma vírgula.
Especifica o escopo da pesquisa. Os valores válidos são "base", "onelevel" e "subtree". O escopo especificado em uma cadeia de caracteres de consulta LDAP substitui qualquer escopo de pesquisa especificado com a propriedade "SearchScope" do objeto Command do ADO.
A seguir está um exemplo de código do dialeto LDAP no ADSI que pesquisa todos os objetos na subárvore.
"<LDAP://DC=Fabrikam,DC=com>;(objectClass=*);AdsPath, cn;subTree"
Nem todas as opções de pesquisa (tamanho da página de pesquisa, por exemplo) podem ser expressas no dialeto LDAP, portanto, você deve definir as opções antes que a execução real da consulta seja iniciada.
Código de exemplo para executar uma consulta LDAP
O exemplo de código a seguir mostra como usar uma consulta LDAP
Dim con As New Connection, rs As New Recordset
Dim adVariant
Dim i 'Used for counter
Dim j 'Used for counter
Dim Com As New Command
Dim strDomain As String
Dim strPassword As String
' Open a Connection object.
con.Provider = "ADsDSOObject"
con.Properties("ADSI Flag") = 1
con.Properties("User ID") = strDomain + "\" + strUserID
con.Properties("Password") = strPassword
con.Open "Active Directory Provider"
' Create a command object on this connection.
Set Com.ActiveConnection = con
' Set the query string.
Com.CommandText = "<LDAP://MyServer/DC=MyDomain,DC=Fabrikam,DC=com>;
(objectClass=*);ADsPath, objectclass;base"
' Set search preferences.
Com.Properties("Page Size") = 1000
Com.Properties("Timeout") = 30 'seconds
' Execute the query.
Set rs = Com.Execute
' Navigate the record set.
rs.MoveFirst
While Not rs.EOF
For i = 0 To rs.Fields.Count - 1
If rs.Fields(i).Type = adVariant And Not (IsNull(rs.Fields(i).Value)) Then
Debug.Print rs.Fields(i).Name, " = "
For j = LBound(rs.Fields(i).Value) To UBound(rs.Fields(i).Value)
Debug.Print rs.Fields(i).Value(j), " # "
Next j
Else
Debug.Print rs.Fields(i).Name, " = ", rs.Fields(i).Value
End If
Next i
rs.MoveNext
Wend
rs.MoveLast
Debug.Print "No. of rows = ", rs.RecordCount
Para obter detalhes sobre a sintaxe da consulta, consulte Sintaxe do filtro de pesquisa.
Tópicos relacionados
-
Pesquisa com OLE DB