zoukankan      html  css  js  c++  java
  • AD查询1000条限制和解决方案

    公司的一个项目要从AD上取数据,为了测试性能,批量在AD上创建了2000多个用户。但是用java程序获取所有用户的时候会报错或者只能取到1000条数据。

    com.novell.ldap.LDAPConnection.search()方法查询的时候最多返回1000条数据。

    用org.springframework.ldap.core.LdapTemplate.search()方法的时候会抛出异常。

    org.springframework.ldap.SizeLimitExceededException     Caused by: javax.naming.SizeLimitExceededException

     

    C#的同事看了半天也找不出原因。用C#程序去取数据的时候也只能取到1000条数据,ldap browser这样的工具也只能返回1000条结果,这个时候我们判断是服务器的问题。

     

    第二天在网上找的“AD 1000”的相关资料。原来windows2000(2003) server本身出于性能负荷的考虑,将LDAP查询的数量限制为1000个。

    当某个ldap查询条件返回数据大于1000条数据的时候,就会报SizeLimitExceededException   的异常

    这里可以参考微软官网的说法: http://support.microsoft.com/kb/315071

     

     

    实际应用中AD中数据超过1000太正常不过了!如果服务器性能允许而且网络带宽不错的话,这样的限制就很不合理。那么如何修改呢?

     

    1.在“开始”——>“运行”——>输入“ ntdsutil”——>回车;

    2.输入:“ldap policies”,回车;

    3.输入:“connections”,回车;

    4.输入:“connect to domain yourDomainName,例如(connect to domain baidu.com

    5.连接提示出现后,输入:“quit”,回车;

    6.输入:“show values”,确认当前的最大返回数;(默认是1000)

    7.输入:“set MaxPageSize to 10000”,将最大返回数改为10000。(最大返回数可以根据实际情况自行定义)。

    8.再度输入:“show values”,确认当前的最大返回数(显示为:1000(10000))。

    9.输入“commit changes”以确认修改。

    10. 再次输入:“show values”,确认当前的最大返回数为10000。

    11. 输入“quit”,退出设置状态;

    12. 输入“quit”,退出当前命令。

     

    然后在用java程序去访问,就可返回2000多个用户!

    如果你的java程序还是返回1000条记录,记得修改一下代码。

     

    LDAPSearchConstraints constraints = new LDAPSearchConstraints();
    constraints.setMaxResults(2000);
    LDAPSearchResults results = conn.search("dc=xxx,dc=com",LDAPConnection.SCOPE_SUB, filter,attrs,false,constraints);
    			
     

    完工!

    备注:客户端(java程序)也可以设置返回结果的数量,但这是为了不影响带宽的情况下设置的。如果设置的值大于服务端设置的值,那么依然没有效果!

    下面把具体操作步骤用图片形式展示在这里!

  • 相关阅读:
    无限维
    黎曼流形
    why we need virtual key word
    TOJ 4119 Split Equally
    TOJ 4003 Next Permutation
    TOJ 4002 Palindrome Generator
    TOJ 2749 Absent Substrings
    TOJ 2641 Gene
    TOJ 2861 Octal Fractions
    TOJ 4394 Rebuild Road
  • 原文地址:https://www.cnblogs.com/pengyan5945/p/5218351.html
Copyright © 2011-2022 走看看