Preciso fazer uma busca em um AD via aplicacao, no entanto nesse AD esta setado o MaxPageSize como 1000 e existem 3000 usuarios cadastrados. Segundo a microsoft:
MaxPageSize - Este valor controla o número máximo de objetos retornados em um único resultado de pesquisa, independentemente do tamanho de cada objeto retornado. Para realizar uma pesquisa em que o resultado possa exceder este número de objetos, o cliente deve especificar o controle de pesquisa paginável. Este controle serve para agrupar os resultados retornados em grupos que não excedam o valorMaxPageSize. Em resumo, MaxPageSize controla o número de objetos retornados em um único resultado de pesquisa.
no meu caso, como devo trazer mais de 1000 registros preciso usar esse: "controle de pesquisa paginável" no entanto nao consegui fazer isso em java, o mais proximo q consegui foi limitar a quantidade de registros trazidos:
se nos parametros da minha conexao eu definir 20, a pesquisa vai me trazer apenas 20, mas se eu colocar 5000 a pesquisa vai trazer apenas 1000 nao sobrepondo o MaxPageSize do ldap.
Segundo informacoes que tive em ASP o seguinte codigo faz isso:
Set oConnection = CreateObject("ADODB.Connection")
oConnection.Provider = "ADsDSOObject"
oConnection.Open "Active Directory Provider"
Set oCommand = CreateObject("ADODB.Command")
Set oCommand.ActiveConnection = oConnection
strQuery = "<LDAP://" & strDomainNC & ">;(&(objectCategory=user)(objectclass=Person));ADSPath;Subtree"
oCommand.CommandText = strQuery
oCommand.Properties("Page Size") = 5000 ' this is the key
Set oRecordSet = oCommand.Execute
Alguem sabe me dizer se esse codigo em ASP, setando esse "Page Size", ele sobrepoe a configuracao do LDAP e me traz mais resultados que o permitido no MaxPageSize? Há uma maneira de fazer isso?
--
Paulo Henrique PeresOracle Certified Professional Java Programmer 6.0