Sql – Querying LDAP from SQL Server issue

active-directoryldapsqlsql server

I'm having some trouble configuring a SQL statement to perform an openquery on LDAP from SQL Server. I followed the instructions as laid out here: Querying Active Directory from SQL Server 2005 but I'm having some trouble putting the final pieces together.

Firstly, I didn't know where my LDAP server was. So I did a nslookup and found the default server as:

abc.domain.popo.local

I configured my OPENQUERY as

SELECT * FROM OPENQUERY( ADSI, 'SELECT * FROM ''LDAP://DC=abc,DC=domain,DC=popo,DC=local'' WHERE
objectCategory = ''User''')   

However, I get an error saying that

An error occurred while preparing the query "SELECT * FROM 'LDAP://DC=abc,DC=domain,DC=popo,DC=local' WHERE objectCategory = 'User'" for execution against OLE DB provider "ADSDSOObject" for linked server "ADSI".

What is the likely issue here? Am I setting up the DC incorrectly (because I don't even know what DC means)? Or is it more likely that I just have the wrong server altogether for LDAP?

Best Answer

It looks to me like you're trying to query against a Windows Active Directory (which functionally appears as LDAP). By default, AD will not allow anonymous querying - you have to authenticate with a trusted username and password. Also, you need to check with your sysadmin to make sure you have the proper base value ("DC=abc,DC=domain,DC=popo,DC=local").