Код: Выделить всё
2024-07-22T21:24:13.597381608Z executor-thread-1 23 2024-07-22 23:24:13.558 ERROR net.sf.jasperreports.engine.fill.JRFillSubreport Fill 1: exception: net.sf.jasperreports.engine.JRException: Error preparing statement for executing the report query:
2024-07-22T21:24:13.597462370Z
2024-07-22T21:24:13.597475177Z SELECT
2024-07-22T21:24:13.597486237Z *
2024-07-22T21:24:13.597502662Z FROM
2024-07-22T21:24:13.597519521Z MY_TABLE
2024-07-22T21:24:13.597530077Z ORDER BY
2024-07-22T21:24:13.597538483Z col
2024-07-22T21:24:13.597547363Z
2024-07-22T21:24:13.597555636Z
2024-07-22T21:24:13.597574220Z at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createStatement(JRJdbcQueryExecuter.java:555)
2024-07-22T21:24:13.597810783Z at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:299)
2024-07-22T21:24:13.598088743Z at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1317)
2024-07-22T21:24:13.598244727Z at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:767)
2024-07-22T21:24:13.598340997Z at net.sf.jasperreports.engine.fill.BaseReportFiller.setParameters(BaseReportFiller.java:465)
2024-07-22T21:24:13.598391111Z at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:585)
2024-07-22T21:24:13.598464565Z at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:416)
2024-07-22T21:24:13.598525214Z at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:827)
2024-07-22T21:24:13.598583947Z at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:61)
2024-07-22T21:24:13.598621143Z at net.sf.jasperreports.engine.fill.AbstractThreadSubreportRunner.run(AbstractThreadSubreportRunner.java:221)
2024-07-22T21:24:13.598716311Z at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
2024-07-22T21:24:13.598803387Z at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
2024-07-22T21:24:13.598913843Z at java.base/java.lang.Thread.run(Thread.java:840)
2024-07-22T21:24:13.599023284Z Caused by: java.sql.SQLException: Enlisted connection used without active transaction
2024-07-22T21:24:13.599110173Z at io.agroal.pool.ConnectionHandler.verifyEnlistment(ConnectionHandler.java:398)
2024-07-22T21:24:13.599149982Z at io.agroal.pool.wrapper.ConnectionWrapper.getMetaData(ConnectionWrapper.java:452)
2024-07-22T21:24:13.599212173Z at net.sf.jasperreports.engine.query.OracleProcedureCallHandler.isOracle(OracleProcedureCallHandler.java:72)
2024-07-22T21:24:13.599341106Z at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.isProcedureCall(JRJdbcQueryExecuter.java:566)
2024-07-22T21:24:13.599481640Z at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createStatement(JRJdbcQueryExecuter.java:389)
2024-07-22T21:24:13.599597852Z ... 12 more
- тот же код, который работал с Quarkus 2.
- JasperReports 7 используется для защиты пакетов Jakarta.
- транзакция активна до тех пор, пока не будет установлено соединение с движком Jasper
- Я пытался запустить транзакцию вручную с помощью QuarkusTransaction.begin() прямо перед вызовом JasperFillManager - но это привела к ошибке «транзакция уже активна».
https://github.com/TIBCOSoftware/jasper ... .java#L922
Но вызов метода fill напрямую не помог и привел к той же ошибке, что упоминалась выше
Код: Выделить всё
JasperFillManager manager = JasperFillManager.getInstance ( DefaultJasperReportsContext.getInstance() );
JasperPrint print = manager.fill(reportFile, parameters, con);
Любая информация очень ценится.
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/787 ... n-used-wit