Solved

Failed to load report error using crystal reports and vb.net

Posted on 2008-10-27
2
1,239 Views
Last Modified: 2011-10-03
I am using a crystal reports that ships with visual studio.net to create customer accounts and after printing 67 reports to disc it is blowing out with "Load Report Failed" on the line cryRpt.Load(strReportName)

I think perhaps I am not closing something or disposing of something, the code I am using is attached - I loop over my customer set (of about 300) and call this routine every time. My report is linked to a table in sql server 2005.

Private Sub ConfigureInvoiceAccRunRpt()
 
        Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo()
        Dim strReportName As String = ""
        Try
 
            myConnectionInfo.AllowCustomConnection = True
            myConnectionInfo.DatabaseName = "MyDb"
            myConnectionInfo.ServerName = MyServerName
            myConnectionInfo.IntegratedSecurity = True
            myConnectionInfo.Type = ConnectionInfoType.SQL
 
            strReportName = "C:\Invoice.rpt"
 
            Dim cryRpt As New ReportDocument
            cryRpt.Load(strReportName)  '<-- fails here after 67 times
 
            SetDBLogonForReport(myConnectionInfo, cryRpt)
 
            Dim crParameterFieldDefinitions As ParameterFieldDefinitions
            Dim crParameterFieldDefinition As ParameterFieldDefinition
            Dim crParameterValues As New ParameterValues
            Dim crParameterDiscreteValue As New ParameterDiscreteValue
 
            crParameterValues.Clear()
            crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields
 
            crParameterDiscreteValue.Value = 3
            crParameterFieldDefinition = crParameterFieldDefinitions.Item("SiteID")
            crParameterValues = crParameterFieldDefinition.CurrentValues
            crParameterValues.Add(crParameterDiscreteValue)
            crParameterFieldDefinition.ApplyCurrentValues(crParameterValues)
           
             cryRpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.CrystalReport, "C:\Spool\Accounts\Customername.rpt")
 
        Catch
            MsgBox(Err.Description)
        Finally
        End Try
 
    End Sub

Open in new window

0
Comment
Question by:alexking
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 70

Accepted Solution

by:
Éric Moreau earned 500 total points
ID: 22811559
I had the very same problem (except that my trigger was at 75). I ended fixing the problem by calling all the appropriate Dispose and Close methods on each object that was having them and setting my objects to Nothing.

Try something like this:

    Private Sub ConfigureInvoiceAccRunRpt()
 
        Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo()
        Dim strReportName As String = ""
 
        Dim cryRpt As New ReportDocument
 
        Try
 
            myConnectionInfo.AllowCustomConnection = True
            myConnectionInfo.DatabaseName = "MyDb"
            myConnectionInfo.ServerName = MyServerName
            myConnectionInfo.IntegratedSecurity = True
            myConnectionInfo.Type = ConnectionInfoType.SQL
 
            strReportName = "C:\Invoice.rpt"
 
            cryRpt.Load(strReportName)  '<-- fails here after 67 times
 
            SetDBLogonForReport(myConnectionInfo, cryRpt)
 
            Dim crParameterFieldDefinitions As ParameterFieldDefinitions
            Dim crParameterFieldDefinition As ParameterFieldDefinition
            Dim crParameterValues As New ParameterValues
            Dim crParameterDiscreteValue As New ParameterDiscreteValue
 
            crParameterValues.Clear()
            crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields
 
            crParameterDiscreteValue.Value = 3
            crParameterFieldDefinition = crParameterFieldDefinitions.Item("SiteID")
            crParameterValues = crParameterFieldDefinition.CurrentValues
            crParameterValues.Add(crParameterDiscreteValue)
            crParameterFieldDefinition.ApplyCurrentValues(crParameterValues)
 
            cryRpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.CrystalReport, "C:\Spool\Accounts\Customername.rpt")
 
        Catch
            MsgBox(Err.Description)
        Finally
            cryRpt.Close()
            cryRpt.Dispose()
            cryRpt = Nothing
 
            myConnectionInfo = Nothing
        End Try
    End Sub

Open in new window

0
 

Author Comment

by:alexking
ID: 22811634
Many thanks - its hard to find much documentation about this, seems to be a well kept secret! I only traced the error by using the activity monitor in SQL server management studio in the first place.

0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Parsing a CSV file is a task that we are confronted with regularly, and although there are a vast number of means to do this, as a newbie, the field can be confusing and the tools can seem complex. A simple solution to parsing a customized CSV fi…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
In this video, viewers are given an introduction to using the Windows 10 Snipping Tool, how to quickly locate it when it's needed and also how make it always available with a single click of a mouse button, by pinning it to the Desktop Task Bar. Int…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…

717 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question