VB.net to C# conversion CrystalReports DB login failed
Hello Experts,
I am changing some code from VB.net to C#. The original code would load a Crystal report and Export it to PDF. The new code wont connect to the database, but none of the DB names or login info has changed. I get this error:
at CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass.Export(ExportOptions pExportOptions, RequestContext pRequestContext)
at CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext)
--- End of inner exception stack trace ---
at CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e)
at CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext)
at CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportToStream(ExportRequestContext reqContext)
at CrystalDecisions.CrystalReports.Engine.FormatEngine.Export(ExportRequestContext reqContext)
at CrystalDecisions.CrystalReports.Engine.FormatEngine.Export()
at CrystalDecisions.CrystalReports.Engine.ReportDocument.Export()
at Member.frmTransactionHistory.btnEmailTransactionHistory_Click(Object sender, EventArgs e) in C:\frmTransactionHistory.cs:line 236
VB.net Code
'Load the PDF Dim cryRpt As New ReportDocument Dim crParameterFieldDefinitions As ParameterFieldDefinitions Dim crParameterFieldDefinition As ParameterFieldDefinition Dim crParameterValues As New ParameterValues Dim crParameterDiscreteValue As New ParameterDiscreteValue cryRpt.Load(Application.StartupPath & "\Reports\StdRecpt.rpt") crParameterDiscreteValue.Value = (txt_TransNum.Text) crParameterFieldDefinitions = _ cryRpt.DataDefinition.ParameterFields crParameterFieldDefinition = _ crParameterFieldDefinitions.Item("Transact") crParameterValues = crParameterFieldDefinition.CurrentValues crParameterValues.Clear() crParameterValues.Add(crParameterDiscreteValue) crParameterFieldDefinition.ApplyCurrentValues(crParameterValues) cryRpt.SetDatabaseLogon("user", "password", "sqlbase", "") 'Export the PDF Try Dim CrExportOptions As ExportOptions Dim CrDiskFileDestinationOptions As New DiskFileDestinationOptions() Dim CrFormatTypeOptions As New PdfRtfWordFormatOptions CrDiskFileDestinationOptions.DiskFileName = (Application.StartupPath & "\Exports\PDF\Trans# " & txt_TransNum.Text & ".pdf") CrExportOptions = cryRpt.ExportOptions With CrExportOptions .ExportDestinationType = ExportDestinationType.DiskFile .ExportFormatType = ExportFormatType.PortableDocFormat .DestinationOptions = CrDiskFileDestinationOptions .FormatOptions = CrFormatTypeOptions End With cryRpt.Export() Catch ex As Exception MessageBox.Show(ex.Message, "Error: Exception", MessageBoxButtons.OK, MessageBoxIcon.Stop) Exit Sub End Try
I believe you need to change the methodology. The method you are using is the original OCX which probably doesn't support C#.
You need to move at least to the RDC if not to a .Net version of Crystal.
mlmcc