点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我有一个用C#编写的Windows服务,可导出PDF报告。 在成功执行过程之后,我看到在睡眠模式下数据库中总是剩下最后一个连接。 由于我有数百个报告,因此睡眠连接不断在数据库中堆积,从而导致不稳定。
我将Crystal Reports用于.NET Framework 4.0版本13.0.2000.0和运行时版本v2.0.50727
当下一行运行时,我得到了Crystal报告中最后一个过程的睡眠连接
ReportDocument.Export(exportOptions);
Crystal Report保留数据库中的最后一个连接是否是一个已知的错误? 我没有在C#中找到任何强制注销方法来关闭连接。 感谢您的帮助。
谢谢
除了Don所说的以外,您是否在导出ReportDocument后明确处置了它?
某些Crystal SDK仍基于COM对象,.NET的内存管理不佳,因此您必须在"使用"子句中使用ReportDocument,该子句将在您使用时自动处理 完成使用它,或者使用完后必须显式调用.Dispose()。 这应该导致报表与数据库断开连接并释放其正在使用的所有内存。
-Dell
所有这些数字都是Assembly和Framework版本。
是否需要了解MS SQL Server的版本以及通过ODBC或OLE DB或JDBC进行连接?
尝试使用最新的SP 22,并阅读有关更新到SP21的信息,并且相同的信息适用于SP 22及更高版本:
https: //wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads
Don
感谢您的输入。
我已经使用block实现了,并且还对.Dispose()方法进行了显式调用,但是在Crystal生成pdf之后,以某种方式与数据库的连接仍然处于休眠模式。 即使在调用rpt.Close()方法之后,在数据库中仍可以看到Crystal中最后执行的proc
唐的解决方案为我工作。 我安装了SP22,并在调用rpt.Close()方法时关闭了连接。
感谢戴尔和唐,感谢您对此的回应。
一周热门 更多>