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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM