org.apache.coyote.http11.HeadersTooLargeException

今天在执行一条UPDATE语句时报了这个错误.下面是语句

UPDATE CRM_YXBDXX SET YJDZBJ=0 WHERE BDHM IN(‘AAKAKA’,’DKDKD’,……..)

后面发现主要是两个地方出了问题:

1.写入的响应头的数据超出缓冲区限制的大小

解决方案:修改TOMCATE中的conf文件夹下的server.xml文件,具体修改如下:

<Connector URIEncoding="UTF-8" port="8090" protocol="org.apache.coyote.http11.Http11NioProtocol"
useBodyEncodingForURI="false"  enableLookups="false" connectionTimeout="20000"
redirectPort="8443" maxHttpHeaderSize="500000"/>

其中主要修改的是maxHttpHeaderSize,把这个值设成你想要的大小

2.SQL进行IN查询时,IN中的数据量不能超过1000条,如果你没有超过1000条,请忽略,如果超过,在改完上TOMCAT配置后还会产生:java.sql.SQLException: ORA-01795: 列表中的最大表达式数为 1000的报错

解决方案:赋值时注意IN中的数据量不要超过1000条,或者使用OR

如:UPDATE CRM_YXBDXX SET YJDZBJ=0 WHERE BDHM IN(‘AAKAKA’,’DKDKD’,……..) OR BDHM IN(‘AAKAKA’,’DKDKD’,……..)

猜你喜欢

转载自blog.csdn.net/qq_39172525/article/details/78028482
今日推荐