We randomly get one of these two errors: Database logon failed (using xsd file) or missing parameter (calling sql stored procedure directly from crystal). Through our windows application we process several reports per day but every so often, after we upgraded the report using VS2013, one report will fail to print.
Here are the two errors:
1. When XSD if provided by mid-tier:
@@@3/14/2016 5:40:28 PM: Database logon failed.
CrystalDecisions.CrystalReports.Engine.LogOnException: Database logon failed. ---> System.Runtime.InteropServices.COMException: Database logon failed.
at CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass.GetLastPageNumber(RequestContext pRequestContext)
at CrystalDecisions.ReportSource.EromReportSourceBase.GetLastPageNumber(ReportPageRequestContext reqContext)
--- End of inner exception stack trace ---
at CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e)
at CrystalDecisions.ReportSource.EromReportSourceBase.HandleException(Exception exception)
at CrystalDecisions.ReportSource.EromReportSourceBase.GetLastPageNumber(ReportPageRequestContext reqContext)
at CrystalDecisions.CrystalReports.Engine.FormatEngine.PrintToPrinter(Int32 nCopies, Boolean collated, Int32 startPageN, Int32 endPageN)
at CrystalDecisions.CrystalReports.Engine.ReportDocument.PrintToPrinter(Int32 nCopies, Boolean collated, Int32 startPageN, Int32 endPageN)
at Xxxxxx.YYYYY.Presentation.Reports.Reports.PrintReport(Component report, Hashtable defaultProperties)
at Xxxxxx.YYYYY.Presentation.Reports.IntermediateReportDelegateWrapper.PrintIntermediateDelegate(Component component)
at Xxxxxx.YYYYY.Reports.ReportControl.Print(DataSet reportData)
at Xxxxxx.YYYYY.Reports.ReportControl.Print(zzzReportRequest[] reportRequest)
at Xxxxxx.YYYYY.Presentation.Reports.Reports.PrintReport(String application, String alias, String printerName, zzzReportRequest[] reportRequest)
at Xxxxxx.YYYYY.Presentation.zzz.zzzProcessor.PrintTicket(Int32 zzzID, String printerName)~~~
2. When dataset is retrieved by CR calling the stored procedures directly, bypassing the XSD returned by the mid-tier
@@@6/21/2016 11:18:48 AM: Missing parameter values.
CrystalDecisions.CrystalReports.Engine.ParameterFieldCurrentValueException: Missing parameter values. ---> System.Runtime.InteropServices.COMException: Missing parameter values.
at CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass.GetLastPageNumber(RequestContext pRequestContext)
at CrystalDecisions.ReportSource.EromReportSourceBase.GetLastPageNumber(ReportPageRequestContext reqContext)
--- End of inner exception stack trace ---
at CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e)
at CrystalDecisions.ReportSource.EromReportSourceBase.HandleException(Exception exception)
at CrystalDecisions.ReportSource.EromReportSourceBase.GetLastPageNumber(ReportPageRequestContext reqContext)
at CrystalDecisions.CrystalReports.Engine.FormatEngine.PrintToPrinter(Int32 nCopies, Boolean collated, Int32 startPageN, Int32 endPageN)
at CrystalDecisions.CrystalReports.Engine.ReportDocument.PrintToPrinter(Int32 nCopies, Boolean collated, Int32 startPageN, Int32 endPageN)
at Xxxxxx.YYYYY.Presentation.Reports.Reports.PrintReport(Component report, Hashtable defaultProperties)
at Xxxxxx.YYYYY.Presentation.Reports.IntermediateReportDelegateWrapper.PrintIntermediateDelegate(Component component)
at Xxxxxx.YYYYY.Reports.ReportControl.Print(DataSet reportData)
at Xxxxxx.YYYYY.Reports.ReportControl.Print(zzzReportRequest[] reportRequest)
at Xxxxxx.YYYYY.Presentation.Reports.Reports.PrintReport(String application, String alias, String printerName, zzzReportRequest[] reportRequest)
at Xxxxxx.YYYYY.Presentation.zzz.zzzProcessor.PrintTicket(Int32 zzzID, String printerName)~~~
We thought that maybe we were not disposing of the report object properly but it looks like we are. We also checked if other applications are not disposing or the report object but apparently that would not cause the report to throw any of the two types of error anyway.
Has anyone encountered a similar problem before.
Thanks