Исключение при запуске crystal report на клиентском компьютере

#c# #visual-studio-2010 #crystal-reports-2010 #sql-server-2012-express

#c# #visual-studio-2010 #crystal-reports-2010 #sql-server-2012-express

Вопрос:

После установки приложения C # Windows на компьютере моего клиента с помощью развертывания click once все работает нормально, за исключением раздела отчетов, где используется crystal report. Я сталкиваюсь с приведенным ниже исключением, как только отчет пытается загрузиться :

 ************** Exception Text **************
CrystalDecisions.Shared.CrystalReportsException: Load report failed. ---> System.Runtime.InteropServices.COMException: The document has not been opened.
   at CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.get_ReportAppServer()
   at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.get_ReportAppServer()
   at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()
   --- End of inner exception stack trace ---
   at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()
   at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob)
   at CrystalDecisions.CrystalReports.Engine.ReportClass.Load(String reportName, OpenReportMethod openMethod, Int16 parentJob)
   at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename)
   at Application.Screens.Report.cmbAfterSel_SelectedIndexChanged(Object sender, EventArgs e)
   at System.Windows.Forms.ComboBox.OnSelectedIndexChanged(EventArgs e)
   at System.Windows.Forms.ComboBox.WmReflectCommand(Messageamp; m)
   at System.Windows.Forms.ComboBox.WndProc(Messageamp; m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Messageamp; m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Messageamp; m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
  

Ниже приведен код для cmbAfterSel_SelectedIndexChanged

                 if (dt.Rows.Count == 0)
                {
                    MessageBox.Show("No data found for the selected criteria", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    CrystalReport1 CR = new CrystalReport1();
                    CR.Load(@"C:UsersUserDocumentsVisual Studio 2010ProjectsProject1Project1CrystalReportCrystalReport1.rpt");
                    CR.SetDataSource(dt);

                    crystalReportViewer1.ReportSource = CR;
                    crystalReportViewer1.RefreshReport();
                }
  

Я уже установил механизм выполнения Crystal Reports для .net Framework.

В идеале отчет должен открываться с данными, поступающими из базы данных (SQL server 2012 Express). Отчеты отлично работают на моем компьютере, где была выполнена разработка.

Комментарии:

1. Похоже, что файл отчета не найден. Либо путь указан неверно, либо система безопасности не позволяет вам открыть файл.

2. Каков код приложения. Экраны. Отчет.cmbAfterSel_SelectedIndexChanged(отправитель объекта, EventArgs e) ?

3. Ниже приведен код: if (dt.Rows. Количество == 0) { MessageBox. Показать(«Данные не найдены по выбранным критериям»); } else { CrystalReport1 CR = new CrystalReport1(); CR.Load(@»C:UsersUserDocumentsVisual Studio 2010ProjectsProject1Project1CrystalReportCrystalReport1.rpt»); CR.setDataSource(dt); crystalReportViewer1.ReportSource = CR; crystalReportViewer1.RefreshReport(); }

4. @ShivangiMittal при добавлении кода, пожалуйста, обновите вопрос вместо публикации комментария. Это увидят все, и мы понимаем поток комментариев и обновление информации о вопросах.

5. @Franck обновлено то же самое.