修改LDAP查询默认1000条限制
修改LDAP查询默认1000条限制
公司的一个项目要从AD上取数据,为了测试性能,批量在AD上创建了2000多个用户。但是用java程序获取所有用户的时候会报错或者只能取到1000条数据。
用com.novell.ldap.LDAPConnection.search()方法查询的时候最多返回1000条数据。
用org.springframeworre.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 的异常!
这里可以参考微软官网的说法:
实际应用中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程序)也可以设置返回结果的数量,但这是为了不影响带宽的情况下设置的。如果设置的值大于服务端设置的值,那么依然没有效果!
下面把具体操作步骤用图片形式展示在这里!
注:该文档为转载文档,转载位置为http://www.educity.cn/wenda/364099.html
转载于:https://blog.51cto.com/guozhengyuan/1438334
修改LDAP查询默认1000条限制相关推荐
- mysql只能查询出1000条数据_MySQL SELECT语句中只能输出1000行数据的原因
同事反映,客户的一套MySQL生产库,执行SELECT.. INTO OUTFILE语句只能导出1000行 最初以为是系统参数被重新设置了,建议他更改系统参数 mysql> set global ...
- mysql查询最后一条记录
首先要确定什么是最后一条. 是编辑时间最新的为最后一条,还是某个字段数字最大的未最后一条. 比如以时间最大为最后一条,则将符合条件的资料都筛选出来,再按时间排序,再取一笔资料. SQL如下: sele ...
- 修改Windows AD的LDAP查询限制
默认情况下,Windows Server中默认的将LDAP的查询数量限制为1000个,可以通过一下方式进行LDAP查询数量的修改: 1.登录域控服务器,然后在CMD命令行模式下输入:ntdsutil, ...
- Oracle数据库查询用 where in 查询的项超过1000条的解决方案
众所周知,如果我们的用SQL查询语句时,如果用where in带的参数超过1000条的话,oracle是会报错的. 因为项目中遇到这样的问题,所以找到了接下来我要说的这个办法. 因为用的地方很多,所以 ...
- sql查询in条件超过1000条解决方案
一. 背景: 小熙最近做的数据检索比较大,其中会使用到,in的条件会有超过1000条.但是in所支持的条件数量最多只有1000,那怎么办呢,后来小熙采取了分区检索,完成了. 二. 引入依赖: 引入ap ...
- 查询最近一千条数据mysql_保留mysql数据库中的最新1000条记录
mysql_connect("localhost","root","root"); mysql_select_db("test&q ...
- 增大max_result_window是错的,ES只能查询前10000条数据的正确解决方案
文章目录 1.问题现象描述 2.错误的解决方案 2.1 使用`max_result_window`的错误解决方案 2.2 官方对`max_result_window`参数的解释 2.3 官方推荐的解决 ...
- 各种数据库查询前几条数据的方法
sql在不同数据库查询前几条数据 关键字: sql 前几条结果 sql在不同数据库查询前几条数据 1. ORACLE SELECT * FROM TABLE1 WHERE ROWNUM< ...
- MySQL 查询 limit 1000,10 和 limit 10 速度一样快吗? 深度分页如何破解
Hollis的新书限时折扣中,一本深入讲解Java基础的干货笔记! 刷网站的时候,我们经常会遇到需要分页查询的场景. 比如下图红框里的翻页功能. 我们很容易能联想到可以用mysql实现. 假设我们的建 ...
最新文章
- spring cloud快速搭建
- spi nor flash使用汇总
- git在公司内部的使用实践(转)
- pytorch加载预训练模型_Pytorch-Transformers 1.0发布,支持六个预训练框架,含27个预训练模型...
- [20180818]校内模拟赛
- STM32 电机教程 7 - 步进电机开环速度控制
- Hessian 使用入门
- vvv在线文档导出工具_一款真正实时的在线文档协作编辑工具,多人可同时对一份文件修改...
- bootstarp js设置列隐藏_Bootstrap框架----DataTables列表移动端适配定义隐藏列
- Ubuntu 20.04 更新,界面美化及安装搜狗输入法
- 用jq实现移动端滑动轮播以及定时轮播效果
- MyBatis的XML配置文件(二)
- 欧几里得算法(辗转相除法)
- android大作业源代码,大作业源代码.doc
- php程序员开发工具箱,PHP程序员工具箱免费版
- direct在计算机网络中是什么意思,DX11是什么 DX11(DirectX 11)是什么意思?
- java将明文变为密文,使用java编程实现明文和密文之间的互转
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java软件学院门户网站u09k9
- linux程序执行收到信号17,Linux信号
- dotnet core error 0x80070057