记录集只返回1000条记录
我正在使用LDAP查询执行ADODB recordset.open()命令,以从我的Active Directory获取所有用户。记录集只返回1000条记录
约有2600个用户,但我只能找回1000个用户。
我试过改变记录集的PageSize和MaxRecords属性,没有运气。
没有多余的东西,这是代码的样子(我做了连接的详细信息通用):
ADODB.Connection conn = new ADODB.Connection();
ADODB.Recordset rs = new ADODB.Recordset();
rs.MaxRecords = 10000;
rs.PageSize = 10000;
conn.Open("Active Directory Provider","","",0);
string query = "SELECT cn FROM 'LDAP://OU=User Accounts,OU=TopLevel,DC=domainName,DC=local' where samAccountName = '*'"
rs.Open(query, conn, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic, -1);
这肯定只能返回1000条记录,(我已经证实),我可以访问他们就好了。
万一它有帮助,我不使用DirectorySearcher的原因是因为它是如此缓慢与此相比。
您必须在连接上设置页面大小,而不是在Recordset
上。
编号: http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/e483c098-b2c1-4037-b9fb-3c882f3b14c4 http://support.microsoft.com/?kbid=243281
1000极限讨论here - 本质上,它是固定在服务器上,所以你会需要跟主人...
我敢肯定你可以从查询中设置它 - 我已经使用VBScript和command.Execute之前完成了它。这只是我无法得到的工作。 – ChristianLinnell 2009-06-29 04:34:59
之一那些似乎是指OLEDB,我可能不得不切换到...另一个似乎是注册表的事情,可悲的是不是一个选项。 – ChristianLinnell 2009-06-29 04:32:38