Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 记录集仅返回1000条记录_C#_Active Directory_Adodb_Recordset - Fatal编程技术网

C# 记录集仅返回1000条记录

C# 记录集仅返回1000条记录,c#,active-directory,adodb,recordset,C#,Active Directory,Adodb,Recordset,我正在使用LDAP查询执行ADODB recordset.open()命令,以从我的Active Directory获取所有用户 大约有2600个用户,但我只收回了1000个 我试图更改记录集的PageSize和MaxRecords属性,但没有成功 如果没有无关的东西,代码就是这样的(我将连接详细信息设置为通用的): 它肯定只返回1000条记录(我已经确认),我可以很好地访问它们 如果有帮助的话,我不使用DirectorySearcher的原因是与此相比它太慢了。您必须在连接上设置页面大小,而不

我正在使用LDAP查询执行ADODB recordset.open()命令,以从我的Active Directory获取所有用户

大约有2600个用户,但我只收回了1000个

我试图更改记录集的PageSize和MaxRecords属性,但没有成功

如果没有无关的东西,代码就是这样的(我将连接详细信息设置为通用的):

它肯定只返回1000条记录(我已经确认),我可以很好地访问它们


如果有帮助的话,我不使用DirectorySearcher的原因是与此相比它太慢了。

您必须在连接上设置页面大小,而不是在
记录集上设置

参考:

讨论了1000个限制-基本上,它在服务器上是固定的,因此您需要与所有者交谈…

其中一个似乎是指OLEDB,我可能必须切换到。。。另一个似乎是一个注册表的东西,不幸的是它不是一个选项。我很确定你可以从查询中设置它-我已经用VBScript和command.Execute完成了。只是我没能做到。我们遇到了这个问题,我们最终需要根据姓氏对用户进行分页,这样单个集合就不到1000个。这不是一个理想的解决方案,但它绕过了这个限制。
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);