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 服务器默认设置的安全规则,这已经更改,并且报告现在可以在通过服务器执行时正确生成