on 2018 May 31 2:34 PM
Hi,
I have a windows service written in C# which exports PDF reports. After successful execution of process, I see that there is last connection always left in database in sleeping mode. As i have hundreds of report, the sleeping connections keep on piling in database causing instability.
I use Crystal Reports for .NET Framework 4.0 version 13.0.2000.0 and Runtime version v2.0.50727
I get the sleeping connection for the last procedure in crystal report, when the following line runs
ReportDocument.Export(exportOptions);
Is it a known bug that crystal report leaves the last connection in database? I didn't found any forceful logoff method in C# to close the connection. Appreciate your help on this.
Thanks
Request clarification before answering.
In addition to what Don said, are you explicitly disposing of the ReportDocument after you export it?
Some of the Crystal SDK is still based on COM objects, which .NET doesn't memory manage very well, so you have to either use the ReportDocument in a "using" clause that will automatically dispose of it when you're done using it or you have to explicitly call .Dispose() on it when you're done with it. This should cause the report to disconnect from the database and free up any memory that it's using.
-Dell
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
All of those numbers are the Assembly and Framework version.
Need to know what verison of MS SQL Server and connecting via ODBC or OLE DB or JDBC?
Try the latest SP 22 and read the info for updating to SP21 and same info applies to SP 22 and above:
https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads
Don
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks for the input.
I already had implemented using block and also did the explicit call to .Dispose() method, but somehow the connection to database was still left in sleeping mode after the pdf was generated by crystal. The last executed proc in crystal was seen in database even after calling rpt.Close() method
Don's solution worked for me. I installed SP22 and the connections got closed when rpt.Close() method was called.
Thanks dell and don, appreciate your response on this.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
76 | |
29 | |
9 | |
7 | |
7 | |
7 | |
6 | |
6 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.