SQL & ADSI
1、使用下面的语句在查询分析器中创建linkedsever
sp_addlinkedserver 'ADSI', 'Active Directory Service Interfaces', 'ADSDSOObject', adsdatasource
或者直接在企业管理器中创建
![](http://w.886.cn/4sz1/52105307/52105307_22581.jpg)
在使用web查询时,如果显示下面两个类似的error之一,请设定一下权限:
OLE DB error trace [OLE/DB Provider 'ADSDSOObject' ICommandPrepare::Prepare returned 0x80040e14].
Error Number: | -2147217900 |
Source: | Microsoft OLE DB Provider for SQL Server |
Native Error: | 7300 |
or
Access to the remote server is denied because no login-mapping exists.
Error Number: | -2147217900 |
Source: | Microsoft OLE DB Provider for SQL Server |
Native Error: |
7416 |
![](http://w.886.cn/4sz1/52105308/52105308_39375.jpg)
SELECT * FROM OpenQuery( ADSI, 'SELECT name, adsPath FROM ''LDAP://DC=ArcadiaBay,DC=com'' WHERE objectCategory = ''Person'' AND objectClass= ''user''')
or
SELECT * FROM OpenQuery(ADSI,'<LDAP://DC=ArcadiaBay;DC=COM>;(&(objectCategory=Person)(objectClass=user));name, adspath;subtree')
or
SELECT * FROM OpenQuery(ADSI,'<LDAP://DC=ArcadiaBay;DC=COM>;(&(objectCategory=Person)(objectClass=user));name, adspath;subtree')
如果是连接到trust的网域,如父域或子域,如下方法:
SELECT * FROM OpenQuery(ADSI,'<LDAP://Trust-DC-Name/DC=Trust-domain;DC=COM>;(&(objectCategory=Person)(objectClass=user));name, adspath;subtree')
http://support.microsoft.com/?id=299410
http://support.microsoft.com/kb/187529/EN-US/