2009-06-29 17 views
6

Tüm kullanıcıları Active Directory'den almak için bir LDAP sorgusuyla bir ADODB recordset.open() komutu yapıyorum.Kayıtlar yalnızca 1000 kayıt döndürüyor

Yaklaşık 2600 kullanıcı var, ancak bunlardan yalnızca 1000 tanesini alıyorum.

Kayıt sayfası PageSize ve MaxRecords özelliklerini şanssız olarak değiştirmeyi denedim. gereksiz şeyler olmadan

, bu kodu (I jenerik bağlantı detaylarını yaptık) neye benzediği:

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); 

Kesinlikle sadece (I teyit ettik) 1000 kayıtları döndürüyor ve elimden Onlara sadece iyi erişim.

Yardımcı olması durumunda DirectorySearcher kullanmamamın sebebi, buna göre yavaştır.

cevap

2

1000 sınır here tartışılmaktadır - aslında, bu sahibine konuşmaya ihtiyacımız olacak, böylece sunucuda sabittir ve ...

+0

Sorgudan ayarlayabileceğine eminim - daha önce command.Execute ile VBScript kullanarak yaptım. Sadece çalışamadım. – ChristianLinnell

+0

Bu tam problemle karşılaştık ve soyadına dayanarak sayfa kullanıcılarına ihtiyaç duyduk, böylece bireysel setler 1000'den daha azdı. Bu ideal bir çözüm değil, ancak bu sınırlama etrafında çalıştı. – SqlRyan

İlgili konular