公司的一个项目要从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程序)也可以设置返回结果的数量,但这是为了不影响带宽的情况下设置的。如果设置的值大于服务端设置的值,那么依然没有效果!

 

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

 

 

 

 

 

AD查询1000条限制和解决方案的更多相关文章

  1. 更改AD查询LDAP条目的1000限制

    解除LDAP导入时的AD条目查询限制 解除LDAP导入或读取AD用户数限制问题 更改AD查询LDAP条目的1000限制 来源:http://www.jiancool.com/article/55373 ...

  2. mysql数据库管理工具sqlyog在首选项里可以设置默认查询分页条数和字体,改写关键字大小写

    sqlyog设置一直习惯用sqlyog来管理mysql数据库,但有三个地方用得不是很爽:1.默认查询条数只有1000条经常需要勾选掉重新查询.2.自动替换关键字大小写,有时候字段名为关键字的搞成大写的 ...

  3. SQL查询多条不重复记录值简要解析【转载】

    转载http://hi.baidu.com/my_favourate/item/3716b0cbe125f312505058eb SQL查询多条不重复记录值简要解析2008-02-28 11:36 以 ...

  4. Mybatis模糊查询结果为空的解决方案

    写在前面 Mybatis使用模糊查询,查询结果为空的解决方案,我的代码是 select * from sp_user where 1=1 <if test="username!=nul ...

  5. [django/mysql] 使用distinct在mysql中查询多条不重复记录值的解决办法

    前言:不废话.,直接进入正文 正文: 如何使用distinct在mysql中查询多条不重复记录值? 首先,我们必须知道在django中模型执行查询有两种方法: 第一种,使用django给出的api,例 ...

  6. php实现只保留mysql中最新1000条记录

    这篇文章主要介绍了php实现只保留mysql中最新1000条记录的方法和相关示例及数据库结构,十分的全面,有需要的小伙伴可以参考下. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 1 ...

  7. 配置1000条ACE的脚本

    配置1000条ACE的脚本 测试 python 引言 在路由器或者交换机产品中,手工配置大量shell命令时,难免繁琐且效率低下,鉴于CRT中支持多种脚本语言,因此可通过脚本执行大量重复的shell配 ...

  8. navicat MySQL 只有1000条记录

    /*************************************************************************** * navicat MySQL 只有1000条 ...

  9. mysql 查询一条记录的下一条和上一条记录

    如果ID是主键或者有索引,可以直接查找: 方法一: 查询上一条记录的SQL语句(如果有其他的查询条件记得加上other_conditions以免出现不必要的错误): select * from tab ...

随机推荐

  1. python类型转换、数值操作(转)

    最近学习python语言,碰到数据类型间的转换问题.看到一篇文章总结的挺详细,收藏之备用. 类型转换 代码 Code highlighting produced by Actipro CodeHigh ...

  2. Android记录一个setTextColor常见的一个bug

    今天写代码 一不小心就犯了个错误. 细致检查才发现,仅记录一下,防止各位同学犯相同的错误哦 代码例如以下: remote.setTextColor(summaryId, R.color.news_ha ...

  3. poj3041-Asteroids , 二分图的最小顶点覆盖数 = 最大匹配数

    点击打开链接 Konig定理:二分图的最小顶点覆盖数 = 二分图的最大匹配数 题意: 在N*N的网络中有K颗小行星.小行星i的位置是(Ri, Ci).如今有一个强力的武器可以用一发光束将一整行或一整列 ...

  4. UVA11038- How Many O&#39;s?(组合数学)

    题目链接 题意:求出在a到b之间的数中,有多少个0. 思路:组合数学问题.能够枚举每一个位置上的数i,如果i之前的数为left,后面的为right,后面有num位数.当i != 0时,将i置为0,所以 ...

  5. 网络IPC:套接字之数据传输

    既然将套接字端点表示为文件描述符,那么只要建立连接,就可以使用read和write来通过套接字通信.通过在connect函数里设置对方地址,数据报套接字也可以“连接”.在套接字描述符上采用read和w ...

  6. 分布式缓存技术redis学习(三)——redis高级应用(主从、事务与锁、持久化)

    上文<详细讲解redis数据结构(内存模型)以及常用命令>介绍了redis的数据类型以及常用命令,本文我们来学习下redis的一些高级特性.目录如下: 安全性设置 设置客户端操作秘密 客户 ...

  7. WPF 之 利用Visibility属性进行Item模板切换

    前台Xaml如下: <Grid.Resources> <xx:AccountStatusToVisibility x:Key="AccountStatusToVisibil ...

  8. EF——一对一、一对多、多对多关系的配置和级联删除 04(转)

    EF里一对一.一对多.多对多关系的配置和级联删除   本章节开始了解EF的各种关系.如果你对EF里实体间的各种关系还不是很熟悉,可以看看我的思路,能帮你更快的理解. I.实体间一对一的关系 添加一个P ...

  9. Apple Tree(需要预处理的树状数组)

    Apple Tree Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 20335   Accepted: 6182 Descr ...

  10. L - Abbott's Revenge(比较复杂的bfs)

    Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Practice UV ...