1. 程式人生 > 其它 >could not execute statement長資料做引數報錯

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 CHANGEparameterparametermediumtext;

修改完成之後不要急,還需要修改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