#1 2024-08-01 13:04:52

vetriselvanr
Member
Registered: 2024-07-31

Getting an error when I'm running a jasper report with a stored proc.

The JRXML has been uploaded on RS and the parameters have been configured correctly. We use MySQL. The query works fine off the DB (using MySQL Query Browser) 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: SQLException: Cannot execute statement in a READ ONLY transaction.
To get help please contact an administrator.
Details
Report could not be executed. {"error":"SQLException: Cannot execute statement in a READ ONLY transaction.","report_id":316808,"report_name":"usercollection","base_report_id":316808,"base_report_name":"usercollection","executing_user_id":1698,"report_output_format":"PDF","report_uuid":"0960e733-47c2-46fe-a9d3-169fbd40f7a2"} net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorException: The report could not be executed: SQLException: Cannot execute statement in a READ ONLY transaction. at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:280) at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:161) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.executeReport(ReportExportServlet.java:563) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.doExportReport(ReportExportServlet.java:444) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReport(ReportExportServlet.java:367) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReportViaSession(ReportExportServlet.java:358) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.doGet(ReportExportServlet.java:162) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$1764253218.GUICE$TRAMPOLINE() at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:74) at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:64) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75) at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:112) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75) at com.google.inject.internal.InterceptorStackCallback.invoke(InterceptorStackCallback.java:55) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$1764253218.doGet() at javax.servlet.http.HttpServlet.service(HttpServlet.java:529) at javax.servlet.http.HttpServlet.service(HttpServlet.java:623) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$1764253218.GUICE$TRAMPOLINE() at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:74) at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:112) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75) at com.google.inject.internal.InterceptorStackCallback.invoke(InterceptorStackCallback.java:55) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$1764253218.service() at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:290) at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:280) at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:184) at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:89) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85) at com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:94) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:121) at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:133) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:388) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: java.lang.IllegalArgumentException: Could not execute report: Error executing SQL statement for: UserCollection. at net.datenwerke.rs.base.service.reportengines.jasper.JasperReportEngine.executeReport(JasperReportEngine.java:314) at net.datenwerke.rs.base.service.reportengines.jasper.JasperReportEngine.doExecute(JasperReportEngine.java:108) at net.datenwerke.rs.core.service.reportmanager.engine.ReportEngine.execute(ReportEngine.java:146) at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:246) ... 50 more Caused by: net.sf.jasperreports.engine.JRException: Error executing SQL statement for: UserCollection. at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:367) at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1286) at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:736) at net.sf.jasperreports.engine.fill.BaseReportFiller.setParameters(BaseReportFiller.java:465) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:591) at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:416) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:120) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:103) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:530) at net.datenwerke.rs.base.service.reportengines.jasper.JasperReportEngine.executeReport(JasperReportEngine.java:304) ... 53 more Caused by: java.sql.SQLException: Cannot execute statement in a READ ONLY transaction. at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:968) at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:1471) at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:317)



Any one Please help on this?

Last edited by vetriselvanr (2024-08-01 13:07:25)

Offline

#2 2024-08-01 13:07:30

eduardo
Administrator
Registered: 2016-11-01
Website

Re: Getting an error when I'm running a jasper report with a stored proc.

Hi vetriselvanr,

pls check here: https://forum.reportserver.net/viewtopi … 2155#p2155

Regards,
Eduardo

Offline

#3 2024-08-01 13:28:05

vetriselvanr
Member
Registered: 2024-07-31

Re: Getting an error when I'm running a jasper report with a stored proc.

HI eduardo,

Thank for the reply. Is there any workaround for using Jasper and stored procedures with ReportServer Community Edition?

Offline

#4 2024-08-01 13:46:41

eduardo
Administrator
Registered: 2016-11-01
Website

Re: Getting an error when I'm running a jasper report with a stored proc.

Hi vetriselvanr,

as you can see in the thread posted, you need scripting for this.

Regards,
Eduardo

Offline

Board footer

Powered by FluxBB