Ошибка Crystal Report SP26 Метод SetDataSource () на компьютерах клиентов в Visual Studio 2019 - PullRequest
3 голосов
/ 09 января 2020

Я работаю над Visual Studio 2019 и Crystal Report Service Pack 26. Мой код считывает данные в набор данных ADO. NET, и я устанавливаю эти данные в качестве источника данных моих отчетов. что-то вроде этого в Visual Basi c. Net:

    Dim ds1 As New DataSet1()

    Dim myRep As New CrystalReport1
    taAccArticleFields_TBL.Fill(ds1.AccArticleFields_TBL)
    myRep.SetDataSource(ds1)
    crvReport.ReportSource = myRep

Когда я запускаю программу через VS, все хорошо, и отчеты отображаются без ошибок. Но когда я хочу запустить свою программу на другом компьютере, на котором установлена ​​только среда выполнения CR26, выдается ошибка при вызове метода SetDataSource для отчета, как показано ниже:

System.Runtime.InteropServices.COMException (0x800002CD): Error in File temp_04020c6d-5b84-40d9-8558-bf87b6d5e554 4840_5464_{1C1D3ACF-9F25-45E2-B0EE-BB77F1DDA6B6}.rpt: Failed to load database information. 
at CrystalDecisions.ReportAppServer.Controllers.DatabaseControllerClass.ReplaceConnection(Object oldConnection, Object newConnection, Object parameterFields, Object crDBOptionUseDefault) 
at CrystalDecisions.CrystalReports.Engine.Table.SetDataSource(Object val, Type type) 
at CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSourceInternal(Object val, Type type)

Я сталкиваюсь с этим с любой программой, которую я пишу. У кого-нибудь есть идея решить эту проблему?

Ответы [ 2 ]

1 голос
/ 12 января 2020

Благодаря @ Jul ie Я обнаружил, что отсутствующий файл необходим для запуска ADO. Net Отчет с использованием Crystal Report SP26. К сожалению, при установке пакета обновления SP26 он не копирует файл crdb_adoplus.dll , который необходим Crystal Report для загрузки данных из ADO. Net набор данных.

Вот решение :

  • В 32-разрядных операционных системах: необходимо скопировать файл crdb_adoplus.dll с компьютера разработчика на клиентский компьютер из следующей папки:

    C: \ Program Files (x86) \ SAP BusinessObjects \ Crystal Reports для. NET Framework 4.0 \ Common \ SAP BusinessObjects Enterprise XI 4.0 \ win32_x86

  • В 64-разрядных операционных системах : необходимо скопировать файл crdb_adoplus.dll с компьютера разработчика на клиентский компьютер из следующей папки:

    C: \ Program Files (x86) \ SAP BusinessObjects \ Crystal Reports for. NET Framework 4.0 \ Common \ SAP BusinessObjects Enterprise XI 4.0 \ win64_x64

    И все работает правильно. Я надеюсь, что SAP решит эту проблему в будущем пакете обновления.

1 голос
/ 10 января 2020

Пожалуйста, проверьте в предыдущей статье , ведьма может предоставить вам решение:

1. Скопируйте файл crdb_filesystem.dll с компьютера разработчика на клиентский компьютер

2.CRdb_filesystem.dll находится в следующем каталоге на компьютере разработчика: C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86

...