could not execute statement长数据做参数报错
作者:互联网
Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.DataException: could not execute statement
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:156)
这个问题是在数据库中执行时,数据过长引起的。
可以将数据流的字段修改为mediumtext;
我这里是
ALTER TABLE systemlog CHANGE parameter parameter mediumtext;
修改完成之后不要急,还需要修改max_allowed_packet;
因为这个时候修改完了设置,其实只是修改完了字段上限值,而数据库的max_allowed_packet默认值为4194304;
也就是说,如果不修改这里,后续还会出现Packet for query is too large (4349894 > 4194304)的问题。
修改方法就是修改my.con(linux)或者my.ini(Windows)文件,将max_allowed_packet 改为 209715200即可;
如果MySQL文件夹里面没有这个配置文件,那么就参考用语句修改。
SET GLOBAL max_allowed_packet = 209715200;(注意一点,这里需要用管理员权限才能修改成功,否则修改完了,也依旧是4194304)
附:
web浏览器已对页面进行了修改提示的解决方法(度娘)
https://jingyan.baidu.com/article/3c48dd34c7eac9e10be358c1.html
标签:execute,max,could,4194304,packet,修改,报错,allowed 来源: https://www.cnblogs.com/wnxx/p/15597583.html