如何在JAVA的Crystal报表中关闭ReportClientDocument

2020-09-06 17:50发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我们正在使用JAVA Cryst...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们正在使用JAVA Crystal Reports制作WEB报告(Oracle数据库)。 一切似乎都很好。 但是,我们发现了一个问题,每次打开报表查看器时,Crystal报表都会建立专用的数据库连接(借助

ReportClientDocument)可以在V $ Session视图中查看此连接。

真正的问题是,即使报表对象超出范围,数据库条目仍保持打开状态。 如果我在报告生成之前或之后关闭viewClient.dispose(),则该报告将正常生成,但无法进行分页。

我们的体系结构在控制器中使用带有单例服务的Spring MVC(JAVA)。 我们的问题是如何使用这种架构关闭数据库连接?

3条回答
粗暴的香蕉
2020-09-06 18:40

crystalreportviewer要求reportclientdocument对象处于活动状态且可用,以便页面导航正常工作。 没有办法解决。 此外,根据查看报告的方式(如果允许其提示输入参数),查看器可能会引用reportclientdocument对象-这意味着除非处理掉该查看器,否则它无法关闭。

最后,报表引擎使用数据库连接池-但是,如果您关闭/处置reportclientdocument对象,您应该会在不久后看到数据库连接关闭-通常不会立即关闭。

如果您希望能够查看报告并关闭reportclientdocument对象,建议您导出到PDF并进行查看。

肖恩

一周热门 更多>