Failed to Load database information in Crystal Report for Visual Studio

c#, crystal-reports, visual-studio

Solution

Add the `<startup>` code below code under the `<configuration>` element in your app.config

<startup useLegacyV2RuntimeActivationPolicy="true"></startup>

Problem

I'm having an issue with Crystal Reports for VS2013. I have a windows application developed in VS2010 with CR. When I try to run it in VS 2013, I get the following exception: ``` Failed to load database information. Error in File BillReport {E3FDAF36-9149-4F03-BCB6-EE66639AFFFB}.rpt: Failed to load database information. at CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e) at CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSourceInternal(Object val, Type type) at CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSource(DataSet dataSet) at Stock_Maintanance.PrintBillReport.PrintBillReport_Load(Object sender, EventArgs e) in e:\perforce\DudhatTechnologies\Users\jay vadiya\Stock Maintanance\Release 0.1\Stock Maintanance\PrintBillReport.cs:line 86 at System.Windows.Forms.Form.OnLoad(EventArgs e) at System.Windows.Forms.Form.OnCreateControl() at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) at System.Windows.Forms.Control.CreateControl() at System.Windows.Forms.Control.WmShowWindow(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at System.Windows.Forms.ContainerControl.WndProc(Message& m) at System.Windows.Forms.Form.WmShowWindow(Message& m) at System.Windows.Forms.Form.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) at System.Windows.Forms.UnsafeNativeMethods.IntCreateWindowEx(Int32 dwExStyle, String lpszClassName, String lpszWindowName, Int32 style, Int32 x, Int32 y, Int32 width, Int32 height, HandleRef hWndParent, HandleRef hMenu, HandleRef hInst, Object pvParam) at System.Windows.Forms.UnsafeNativeMethods.CreateWindowEx(Int32 dwExStyle, String lpszClassName, String lpszWindowName, Int32 style, Int32 x, Int32 y, Int32 width, Int32 height, HandleRef hWndParent, HandleRef hMenu, HandleRef hInst, Object pvParam) at System.Windows.Forms.NativeWindow.CreateHandle(CreateParams cp) at System.Windows.Forms.Control.CreateHandle() at System.Windows.Forms.Form.CreateHandle() at System.Windows.Forms.Control.get_Handle() at System.Windows.Forms.Form.SetVisibleCore(Boolean value) at System.Windows.Forms.Control.Show() at Stock_Maintanance.PrintBill.btPrint_Click(Object sender, EventArgs e) in e:\perforce\DudhatTechnologies\Users\jay vadiya\Stock Maintanance\Release 0.1\Stock Maintanance\PrintBill.cs:line 717 at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnClick(EventArgs e) at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.Run(Form mainForm) at Stock_Maintanance.Program.Main() in e:\perforce\DudhatTechnologies\Users\jay vadiya\Stock Maintanance\Release 0.1\Stock Maintanance\Program.cs:line 20 ``` Following is my code to load crystal report from XML dataset which is populated by OLEDB connection ``` string sqlstr = ""; sqlstr = "select * from billMaster where billid = " + billId + " and merchantName = '" + merchantName + "' "; // DataSet ds = m1.selectData(sqlstr); cmd = new OleDbCommand(sqlstr, m1.ccon); if (m1.ccon.State == ConnectionState.Closed) { m1.ccon.Open(); } OleDbDataAdapter da = new OleDbDataAdapter(sqlstr, m1.ccon); BillPrint bp = new BillPrint(); // dr = cmd.ExecuteReader(); da.Fill(bp.billMaster); sqlstr = "select srNo from billInfo where billId=" + billId + " order by srNo"; DataSet dsTemp = m1.selectData(sqlstr); sqlstr = "select (srNo+1-" + dsTemp.Tables[0].Rows[0].ItemArray[0].ToString() + ") as srNo,billId,itemType,itemName,length,width,thickness,squareMeter,billRate,Qty,subTotal from billInfo where billId=" + billId; OleDbDataAdapter da1 = new OleDbDataAdapter(sqlstr, m1.ccon); // dr = cmd.ExecuteReader(); da1.Fill(bp.billInfo); string path = ""; path = Application.StartupPath + "\\reports\\BillReport.rpt"; /* if (RateVisible == 1) { path = Application.StartupPath + "\\reports\\BillReport.rpt"; } else if (RateVisible == 2) { path = Application.StartupPath + "\\reports\\BillReportWithoutRate.rpt"; }*/ // MessageBox.Show(path); ReportDocument rd = new ReportDocument(); rd.Load(path); rd.SetDataSource(bp); crv.ReportSource = rd; crv.RefreshReport(); ```

Original source

Related problems