The JRXML has been uploaded on RS and the parameters have been configured correctly. We use postgresql. The query works fine off the DB (using PGAdmin) and the report is displayed correctly in the Preview Tab of JasperSoftStudio.
This is the error on RS :
Error: An error occurred during report execution.
The report could not be executed: net.sf.jasperreports.engine.JRException: Error executing SQL statement for: MainStoreStockBalanceAsOfDt_MainStoreStockBalanceDS_1537192375401_868996.
To get help please contact an administrator.
Details
net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorException: The report could not be executed: net.sf.jasperreports.engine.JRException: Error executing SQL statement for: MainStoreStockBalanceAsOfDt_MainStoreStockBalanceDS_1537192375401_868996. at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:218) at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:119) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exeucteReport(ReportExportServlet.java:535)
at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.doExportReport(ReportExportServlet.java:416) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReport(ReportExportServlet.java:346) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReportViaSession(ReportExportServlet.java:339) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.doGet(ReportExportServlet.java:168) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$535e5d3.CGLIB$doGet$9() at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$535e5d3$$FastClassByGuice$$3903e5d5.invoke() at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:66) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) at
net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$535e5d3.doGet() at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$535e5d3.CGLIB$service$18() at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$535e5d3$$FastClassByGuice$$3903e5d5.invoke() at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52) at
net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$535e5d3.service() at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263) at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178) at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62) at com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:89) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118) at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521) at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: Error executing SQL statement for: MainStoreStockBalanceAsOfDt_MainStoreStockBalanceDS_1537192375401_868996. at net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:886) at net.sf.jasperreports.components.table.fill.FillTableSubreport.prepareSubreport(FillTableSubreport.java:172) at net.sf.jasperreports.components.table.fill.FillTable.prepare(FillTable.java:419) at net.sf.jasperreports.engine.fill.JRFillComponentElement.prepare(JRFillComponentElement.java:150) at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:352) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:421) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:396) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2028) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:752) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:259) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:119) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:558) at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:396) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:91) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:456) at net.datenwerke.rs.base.service.reportengines.jasper.JasperReportEngine.executeReport(JasperReportEngine.java:291) at net.datenwerke.rs.base.service.reportengines.jasper.JasperReportEngine.doExecute(JasperReportEngine.java:104) at net.datenwerke.rs.core.service.reportmanager.engine.ReportEngine.execute(ReportEngine.java:148) at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:186) … 57 more Caused by: net.sf.jasperreports.engine.JRException: Error executing SQL statement for: MainStoreStockBalanceAsOfDt_MainStoreStockBalanceDS_1537192375401_868996. at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:342) 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:437) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:526) at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:396) at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:742) at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:58) at
net.sf.jasperreports.engine.fill.AbstractThreadSubreportRunner.run(AbstractThreadSubreportRunner.java:216) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) … 1 more Caused by: org.postgresql.util.PSQLException: ERROR: cannot execute CREATE TABLE AS in a read-only transaction Where: SQL statement “CREATE TEMP TABLE period_batches ON COMMIT DROP AS select ‘MAIN STORE’ as store, cast(null as varchar) as itemtype, cast(null as varchar) as genericname, cast(null as varchar) as brandname, verfstoreb7_.id as msb_id, cast(null as varchar) as batch, 0.00 as cost_org_uom, 0.00 as gst_rate, deptstoret3_.mainStoreqtyAvbl as open_bal, case when deptstoret0_.bTransferIn=true then -deptstoret3_.qtyTransferred else deptstoret3_.qtyTransferred end as trans_qty, ‘TRANSFER’ as trans_type, deptstoret3_.createTime as last_trans_time from DEPTStoreTransferInOut deptstoret0_ inner join DEPTStoreTransferInOut_DEPTStoreTransferInOutDetail lineitems2_ on deptstoret0_.id=lineitems2_.DEPTStoreTransferInOut_id inner join DEPTStoreTransferInOutDetail deptstoret3_ on lineitems2_.lineItems_id=deptstoret3_.id left outer join VERFStoreBalances verfstoreb4_ on deptstoret3_.mainStoreItem_id=verfstoreb4_.id left outer join DEPTStoreBalance deptstoreb5_ on deptstoret3_.deptStoreBalance_id=deptstoreb5_.id left outer join VERFStoreBalances verfstoreb6_ on deptstoreb5_.mainStoreBalance_id=verfstoreb6_.id, VERFStoreBalances verfstoreb7_ where (verfstoreb7_.id = verfstoreb4_.id or verfstoreb7_.id = verfstoreb6_.id) and deptstoret3_.createTime < close_date and verfstoreb7_.lastupdatetime > close_date order by verfstoreb7_.id” PL/pgSQL function closing_balance_main_store(timestamp without time zone) line 8 at SQL statement at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2284) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2003) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:200) at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:424) at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:161) at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:114) at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:1418) at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:332) … 11 more
I have not yet had this error but some analysis points can help you.
Does your main report have sub-reports?
Your RS version?
NB: RS is a very good tools. Note that your reports can run correctly in JasperReports tools but you have to make sometime a few change to adapt it in RS concept.
That is my little experience.
Thanks for your reply. I have a stored procedure called closing_balance_main_store. I call this procedure in the table dataset query (in the jrxml) and put the output in a table.
Here is a stripped down version of the report I’m trying to run :
Please post here the results of your tests. If this works, we may include an option in future versions of reportserver to allow this without scripting.