我在配置 SQL 语句以从 SQL Server 对 LDAP 执行 openquery 时遇到了一些问题。我按照此处列出的说明进行操作:Querying Active Directory from SQL Server 2005但我在把最后的部分放在一起时遇到了一些麻烦。
首先,我不知道我的 LDAP 服务器在哪里。所以我做了一个 nslookup
并找到默认服务器为:
abc.domain.popo.local
我配置了我的
OPENQUERY
作为SELECT * FROM OPENQUERY( ADSI, 'SELECT * FROM ''LDAP://DC=abc,DC=domain,DC=popo,DC=local'' WHERE
objectCategory = ''User''')
但是,我收到一个错误说
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".
这里可能的问题是什么?我是否设置了
DC
不正确(因为我什至不知道 DC 是什么意思)?或者更有可能我只是为 LDAP 设置了错误的服务器?
最佳答案
在我看来,您正在尝试查询 Windows Active Directory(功能上显示为 LDAP)。默认情况下,AD 不允许匿名查询 - 您必须使用受信任的用户名和密码进行身份验证。此外,您需要与您的系统管理员核对以确保您拥有正确的基值(“DC=abc,DC=domain,DC=popo,DC=local”)。
关于sql - 从 SQL Server 问题查询 LDAP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8404744/