我需要一些逻辑上的帮助,我需要查询Active Directory以获取EmployeeID
,Name
,Email
并将结果插入到SQL Server表中。
之所以这样做是因为有太多的记录,我在像这样的小子查询中中断了此任务:
set @sql=
'SELECT TOP 900 EmployeeID as [SID], DisplayName as [Name], mail as [email]
FROM OPENQUERY (
ADSI,''SELECT EmployeeID, DisplayName, mail
FROM ''''LDAP://.local/OU=OU=Students,DC=labsc,DC=local''''
WHERE
objectClass = ''''user''''
and GivenName < ''''B''''
'') as C
UNION ALL
SELECT TOP 900 EmployeeID as [SID], DisplayName as [Name], mail as [email]
FROM OPENQUERY (
ADSI,
''SELECT EmployeeID, DisplayName, mail
FROM ''''LDAP://cal''''
WHERE
objectClass = ''''user''''
and GivenName >= ''''B''''
and GivenName < ''''C''''
'') as C
直到Z,但是问题在A和B之间,可能有成千上万条记录,而我刚获得前900条记录,因为否则我会出错!
有人知道如何下载所有这些记录吗?
答案 0 :(得分:0)
前一段时间,我与AD链接服务器一起工作,我不记得遇到这种问题了。您可以分享错误吗?最好的选择可能是查看导致该问题的原因并解决根本原因。
如果无法解决该问题,我现在想的是先插入这900条记录,然后为已经插入的表中不存在的前900条记录添加一个比较。