Crystal 报告 SP26 SetDataSource() 方法在 Visual Studio 2019 年的客户端计算机中失败

Crystal Report SP26 SetDataSource() Method failed in computers of clients in Visual Studio 2019

我正在研究 Visual Studio 2019 和 Crystal Report Service Pack 26。我的代码将数据读入 ADO.NET 数据集,并将这些数据集设置为我的报告的数据源。在 Visual Basic.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 运行time 的计算机上时,它会在调用 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)

我编写的任何程序都会遇到这种情况。有人知道解决这个问题吗?

请查看previous article,可能会为您提供解决方案:

1.Copy文件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

感谢@Julie,我发现丢失的文件需要 运行 ADO.Net 使用 Crystal 报告 SP26 报告。 不幸的是,当您安装 SP26 运行 时,它不会复制 crdb_adoplus.dll 文件,该文件需要 Crystal 报告以从 [=42] 加载数据=]数据集。

解决方法如下:

  • 在 32 位操作系统中: 您必须从以下文件夹将 crdb_adoplus.dll 文件从开发人员计算机复制到客户端计算机:

    C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .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在以后的服务包中解决这个问题。

我遇到了同样的问题,发现通过修复 Windows 'Programs and Features' 中的程序,它会自动修复问题,甚至不需要重新启动机器!

这个想法来自 SAP 答案页面 (https://answers.sap.com/questions/12937477/sp26-and-installation.html) 上的讨论,据说 -

"the only thing that will help is to reinstall or repair."

这似乎是正确的,我只是希望我没有浪费很多时间来寻找答案!