2012-04-13 56 views
0

我想通过经理的名字查询团队中的所有成员。例如,如果managerA有两个直接的报告:managerB和employee1。经理B有两个直接的报告:员工2和员工3。我想要获得经理A的所有成员:经理B,员工1,员工2和员工3。如何通过SQL Server查询LDAP中的嵌套成员

如果我使用下面的查询,我只能得到成员:managerB和employee1。我如何查询嵌套成员?谢谢!

Select * from openquery 
(
     ADSI,'Select CN from ''LDAP://mydomain.com'' 
     WHERE objectCategory = ''Person'' AND objectClass = ''user'' 
     AND manager = ''CN=managerA,OU=Users,OU=Accounts,DC=mydomain,DC=com'' 
     order by CN 
'); 
+0

SQL Server中可用的ADO接口**非常有限**,并且不允许执行高级查询,如获取嵌套成员等。 – 2012-04-13 20:22:09

+0

哦...所以有什么建议? – user984859 2012-04-13 20:48:35

+0

不是真的 - 基本上你只需要自己处理它,多次查询AD .... – 2012-04-13 20:52:53

回答

0

如果它是便宜(和有意义!)拉你LDAP数据到SQLServer的,也许你可以做到这一点,然后再运行SQLServer的中递归查询。这实际上对你想要完成的事情来说是完美的。如果您需要某个想法的示例,我回答了另一个递归问题here