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