Jaspersoft Studio/Server 报告 - Studio 中的预览正常,服务器在执行时抛出错误
Jaspersoft Studio/Server Report - Preview in Studio is Working, Server is throwing an Error when executing
我最近尝试向我们的 Jasper 服务器添加更多报告,以便将它们分发给需要它们的人。
这适用于我上传的第一份报告,但在尝试上传新报告时,在尝试通过服务器执行它们时,我收到一条错误消息。
以下是我从日志中提取的内容:
2021-03-19T12:56:31,694 错误 AsyncJasperPrintAccessor,pool-5-thread-9:321 - 报告执行期间出错 com.jaspersoft.jasperserver.api.JSSecurityException:Ein Fehler ist aufgetreten。 Wenden Sie sich an Ihren 系统管理员。 (6632)
参数:
在 com.jaspersoft.jasperserver.api.security.validators.Validator.newSecurityException(Validator.java:544)
在 com.jaspersoft.jasperserver.api.security.validators.Validator.validateSQL(Validator.java:533)
在 com.jaspersoft.jasperserver.api.engine.jasperreports.util.JRTimezoneJdbcQueryExecuter.createDatasource(JRTimezoneJdbcQueryExecuter.java:148)
在 net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1257)
在 net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:726)
在 net.sf.jasperreports.engine.fill.JRFillDatasetRun.evaluate(JRFillDatasetRun.java:249)
在 net.sf.jasperreports.engine.fill.JRFillElementDataset.evaluateDatasetRun(JRFillElementDataset.java:259)
在 net.sf.jasperreports.engine.fill.JRFillCrosstab.evaluate(JRFillCrosstab.java:678)
在 net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:383)
在 net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:548)
在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummaryNoLastFooterSamePage(JRVerticalFiller.java:1238)
在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummary(JRVerticalFiller.java:1189)
在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportEnd(JRVerticalFiller.java:297)
在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:117)
在 net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:615)
在 net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFill.run(BaseFillHandle.java:135)
在 com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$SynchronousExecutor.execute(EngineServiceImpl.java:956)
在 net.sf.jasperreports.engine.fill.BaseFillHandle.startFill(BaseFillHandle.java:181)
在 com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$AsynchronousReportFiller.fillReport(EngineServiceImpl.java:907)
在 com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:1842)
在 com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runWithDataSource(EngineServiceImpl.java:1159)
在 com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.run 报告 (EngineServiceImpl.java:1100)
在 com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportRunnable.run(EngineServiceImpl.java:978)
在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
在 java.lang.Thread.run(Thread.java:748)
但由于我没有使用代码生成报告,所以我无法完全理解这些消息。
谁能告诉我,为什么在服务器上执行报告失败,但在 Jaspersoft Studio 中却成功?
两者 运行 在同一个虚拟机上。
处理此特定报告的开发人员似乎以“which ...”开始他的查询,这违反了 Jaspersoft 服务器默认设置的安全规则,这已经更改,并且报告现在可以在通过服务器执行时正确生成
我最近尝试向我们的 Jasper 服务器添加更多报告,以便将它们分发给需要它们的人。 这适用于我上传的第一份报告,但在尝试上传新报告时,在尝试通过服务器执行它们时,我收到一条错误消息。
以下是我从日志中提取的内容:
2021-03-19T12:56:31,694 错误 AsyncJasperPrintAccessor,pool-5-thread-9:321 - 报告执行期间出错 com.jaspersoft.jasperserver.api.JSSecurityException:Ein Fehler ist aufgetreten。 Wenden Sie sich an Ihren 系统管理员。 (6632) 参数: 在 com.jaspersoft.jasperserver.api.security.validators.Validator.newSecurityException(Validator.java:544) 在 com.jaspersoft.jasperserver.api.security.validators.Validator.validateSQL(Validator.java:533) 在 com.jaspersoft.jasperserver.api.engine.jasperreports.util.JRTimezoneJdbcQueryExecuter.createDatasource(JRTimezoneJdbcQueryExecuter.java:148) 在 net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1257) 在 net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:726) 在 net.sf.jasperreports.engine.fill.JRFillDatasetRun.evaluate(JRFillDatasetRun.java:249) 在 net.sf.jasperreports.engine.fill.JRFillElementDataset.evaluateDatasetRun(JRFillElementDataset.java:259) 在 net.sf.jasperreports.engine.fill.JRFillCrosstab.evaluate(JRFillCrosstab.java:678) 在 net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:383) 在 net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:548) 在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummaryNoLastFooterSamePage(JRVerticalFiller.java:1238) 在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummary(JRVerticalFiller.java:1189) 在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportEnd(JRVerticalFiller.java:297) 在 net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:117) 在 net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:615) 在 net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFill.run(BaseFillHandle.java:135) 在 com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$SynchronousExecutor.execute(EngineServiceImpl.java:956) 在 net.sf.jasperreports.engine.fill.BaseFillHandle.startFill(BaseFillHandle.java:181) 在 com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$AsynchronousReportFiller.fillReport(EngineServiceImpl.java:907) 在 com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:1842) 在 com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runWithDataSource(EngineServiceImpl.java:1159) 在 com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.run 报告 (EngineServiceImpl.java:1100) 在 com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportRunnable.run(EngineServiceImpl.java:978) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748)
但由于我没有使用代码生成报告,所以我无法完全理解这些消息。
谁能告诉我,为什么在服务器上执行报告失败,但在 Jaspersoft Studio 中却成功?
两者 运行 在同一个虚拟机上。
处理此特定报告的开发人员似乎以“which ...”开始他的查询,这违反了 Jaspersoft 服务器默认设置的安全规则,这已经更改,并且报告现在可以在通过服务器执行时正确生成