SAP Crystal Reports 2016 not disconnecting from SQL Server 2012

RayBakker
RayBakker used Ask the Experts™
on
Greetings

I have inherited some code from a colleague and I noticed that the SAP Crystal Reports are not disconnecting from the SQL Server. The application does close and dispose of the crystal viewer instance. I have posted the code here:

Private Sub CloseCrystalReports()
        If CRReports.crRpt IsNot Nothing Then
            CloseReports(CRReports.crRpt)
            CRReports.crRpt.Close()
            CRReports.crRpt.Dispose()
            CRReports.crRpt = Nothing
        End If
        GC.Collect()
        GC.WaitForPendingFinalizers()
        GC.Collect()
    End Sub

Open in new window


I my attempts to resolved the issue, I also added this:

Protected Sub Page_Unload(ByVal sender As Object, ByVal e As EventArgs)
        If CRReports.crRpt IsNot Nothing Then
            CloseReports(CRReports.crRpt)
            CRReports.crRpt.Close()
            CRReports.crRpt.Dispose()
            CRReports.crRpt = Nothing
        End If
        GC.Collect()
        GC.WaitForPendingFinalizers()
        GC.Collect()
    End Sub

Open in new window


I also found that the issue may be with SQL Server and Connection Pooling, so I added this to the connection string:

Pooling=False

I do not see an increase in memory usage on the application server. But I do see that the connections to the database on the database server does not decrease after the application is closed.

Does anyone have any other suggestions?
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Ido MilletProfessor of MIS at Penn State Erie and Owner, Millet Software

Commented:
You are probably using SP21 or earlier.
Upgrade the runtime to SP22 or later and the problem should go away.
RayBakkerApplication Developer Analyst

Author

Commented:
Ido

Thanks for the quick response. I looked at the References and the CrystalDecisions.CrystalReports.Engine is version 13,.0.3500.0

Ray
Ido MilletProfessor of MIS at Penn State Erie and Owner, Millet Software

Commented:
Look at installed features. Find  
SAP Crystal Reports runtime engine for .NET Framework (32-bit)
Look at the version.
The SP number is the 3rd component.
For example, 13.0.24.2970 is SP24
Ensure you’re charging the right price for your IT

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

RayBakkerApplication Developer Analyst

Author

Commented:
Ido

I forgot about the server. We are currently running  13.0.22.2668  64 bit on the server. So we should be good.
Ido MilletProfessor of MIS at Penn State Erie and Owner, Millet Software

Commented:
Does the problem go a way if you use ODBC instead of OLEDB?
RayBakkerApplication Developer Analyst

Author

Commented:
Ido

I think I have found a solution.

I the report its self,Under Database > Set Datasouce Location, under properties, set OLE DB Services to -4.

Seems to have resolved the issue. I will continue to test.  I will post back on Monday. Keep you fingers crossed.

Ray
Ido MilletProfessor of MIS at Penn State Erie and Owner, Millet Software

Commented:
Excellent. Thanks for closing the loop.
Application Developer Analyst
Commented:
My previous comment fixed the CR reports themselves. There was still an issue in code. The code create a PDF on opened it. This meant the the current page (with the CR object) was no longer executing, so the CR closing sub was not getting called.

I added a page unload sub that calls the CR close sub. Works perfectly.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial