Jasper Report Server:填写报告时出错,执行 SQL 语句时出错,max_allowed_pa​​cket

Jasper Report Server:填写报告时出错,执行 SQL 语句时出错,max_allowed_pa​​cket

我收到了下面提到的错误。

max_allowed_pa​​cket mysql 端针对指定结构的 max_allowed_pa​​cket 大小已增加。

尽管增加了,但还是会出现相应的错误。

我不知道如何处理其他错误。

出现指定的错误后,mysqld 重新启动后错误得到纠正,但几天后再次出现。

我希望得到您的支持。

> Server Error
> 
> The server has encountered an error. Please excuse the inconvenience.
> 
> **Error Message Error filling report**
> 
> **Error Trace** com.jaspersoft.jasperserver.api.JSException: Error filling
> report at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$FillResultListener.reportFillError(EngineServiceImpl.java:1266)
> at
> net.sf.jasperreports.engine.fill.BaseFillHandle.notifyError(BaseFillHandle.java:210)
> at
> net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFill.run(BaseFillHandle.java:134)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$SynchronousExecutor.execute(EngineServiceImpl.java:890)
> at
> net.sf.jasperreports.engine.fill.BaseFillHandle.startFill(BaseFillHandle.java:164)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$AsynchronousReportFiller.fillReport(EngineServiceImpl.java:846)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:1735)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runWithDataSource(EngineServiceImpl.java:1090)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runReport(EngineServiceImpl.java:1019)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportRunnable.run(EngineServiceImpl.java:912)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.Log4jMdcCompatibleThreadPoolExecutor$1.run(Log4jMdcCompatibleThreadPoolExecutor.java:60)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745) Caused by:
> net.sf.jasperreports.engine.JRException: Error executing SQL statement
> for: VHSingleTractors. at
> net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:267)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.util.JRTimezoneJdbcQueryExecuter.createDatasource(JRTimezoneJdbcQueryExecuter.java:168)
> at
> net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1129)
> at
> net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:696)
> at
> net.sf.jasperreports.engine.fill.BaseReportFiller.setParameters(BaseReportFiller.java:434)
> at
> net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:519)
> at
> net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFill.run(BaseFillHandle.java:119)
> ... 11 more Caused by: com.mysql.jdbc.PacketTooBigException: Packet
> for query is too large (3842 > 1024). You can change this value on the
> server by setting the max_allowed_packet' variable. at
> com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3552) at
> com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2429) at
> com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2594) at
> com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2545) at
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1901)
> at
> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2002)
> at
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
> at
> net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:257)
> ... 17 more
> 
> **Error Message** net.sf.jasperreports.engine.JRException: Error executing
> SQL statement for: VHSingleTractors.
> 
> **Error Trace** net.sf.jasperreports.engine.JRException: Error executing
> SQL statement for: VHSingleTractors. at
> net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:267)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.util.JRTimezoneJdbcQueryExecuter.createDatasource(JRTimezoneJdbcQueryExecuter.java:168)
> at
> net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1129)
> at
> net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:696)
> at
> net.sf.jasperreports.engine.fill.BaseReportFiller.setParameters(BaseReportFiller.java:434)
> at
> net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:519)
> at
> net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFill.run(BaseFillHandle.java:119)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$SynchronousExecutor.execute(EngineServiceImpl.java:890)
> at
> net.sf.jasperreports.engine.fill.BaseFillHandle.startFill(BaseFillHandle.java:164)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$AsynchronousReportFiller.fillReport(EngineServiceImpl.java:846)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:1735)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runWithDataSource(EngineServiceImpl.java:1090)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runReport(EngineServiceImpl.java:1019)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportRunnable.run(EngineServiceImpl.java:912)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.Log4jMdcCompatibleThreadPoolExecutor$1.run(Log4jMdcCompatibleThreadPoolExecutor.java:60)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745) Caused by:
> com.mysql.jdbc.PacketTooBigException: Packet for query is too large
> (3842 > 1024). You can change this value on the server by setting the
> max_allowed_packet' variable. at
> com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3552) at
> com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2429) at
> com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2594) at
> com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2545) at
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1901)
> at
> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2002)
> at
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
> at
> net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:257)
> ... 17 more
> 
> **Error Message** com.mysql.jdbc.PacketTooBigException: Packet for query
> is too large (3842 > 1024). You can change this value on the server by
> setting the max_allowed_packet' variable.
> 
> **Error Trace** com.mysql.jdbc.PacketTooBigException: Packet for query is
> too large (3842 > 1024). You can change this value on the server by
> setting the max_allowed_packet' variable. at
> com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3552) at
> com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2429) at
> com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2594) at
> com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2545) at
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1901)
> at
> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2002)
> at
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
> at
> net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:257)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.util.JRTimezoneJdbcQueryExecuter.createDatasource(JRTimezoneJdbcQueryExecuter.java:168)
> at
> net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1129)
> at
> net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:696)
> at
> net.sf.jasperreports.engine.fill.BaseReportFiller.setParameters(BaseReportFiller.java:434)
> at
> net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:519)
> at
> net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFill.run(BaseFillHandle.java:119)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$SynchronousExecutor.execute(EngineServiceImpl.java:890)
> at
> net.sf.jasperreports.engine.fill.BaseFillHandle.startFill(BaseFillHandle.java:164)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$AsynchronousReportFiller.fillReport(EngineServiceImpl.java:846)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:1735)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runWithDataSource(EngineServiceImpl.java:1090)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runReport(EngineServiceImpl.java:1019)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportRunnable.run(EngineServiceImpl.java:912)
> at
> com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.Log4jMdcCompatibleThreadPoolExecutor$1.run(Log4jMdcCompatibleThreadPoolExecutor.java:60)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)

相关内容