我已安装 Jasper Report Server 8.2 和 Jasper Report Studio 6.2 社区版来生成从 SQL Server 存储过程检索数据的报表。下面是存储过程:
exec BaqyatMajorByYear '1400', '1400', '1399'
我已成功在 Jasper Studio 和 SQL Server 之间建立连接,并且我可以确认来自存储过程的数据在 Jasper Studio 中正确预览。
Jasper Server 也连接到数据库,服务器内的正常选择查询报告按预期运行。但是,当尝试访问从存储过程生成的报告时,会发生错误,并且服务器显示以下错误消息:
There was an error on the server. Try again or contact site administrators. (Error UID: ab76308d-e030-4443-b133-b2e34bdd2fd8) com.jaspersoft.jasperserver.api.ErrorDescriptorException: There was an error on the server. Try again or contact site administrators. (Error UID: ddd4e95a-9328-42a4-9bf6-cdf171e3c672) at com.jaspersoft.jasperserver.remote.services.ReportExecution.getFinalReportUnitResult(ReportExecution.java:173) at com.jaspersoft.jasperserver.remote.services.impl.RunReportServiceImpl$2.run(RunReportServiceImpl.java:538) at com.jaspersoft.jasperserver.api.logging.util.LoggableExecutorService$1.run(LoggableExecutorService.java:84) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
我尝试了各种资源,但遗憾的是,没有一个达到预期的结果。
我想询问Jasper Server是否有执行SQL Server存储过程的能力。如果这确实可能,我将不胜感激有关如何实现此功能的指导。
对于调用 SQL Server 存储过程,只有这两个步骤对我有用!
在 jasper studio 中,您应该通过右键单击“大纲”选项卡中的“报告名称”来选择 plsql 作为语言
您的查询应该具有其存储过程的参数(如果有类似的参数)
执行你的程序@firstParam=值,@SecondParam=值
然后发布到jasperReport服务器并运行它