【问题标题】:Crystal Report SP26 SetDataSource() Method failed in computers of clients in Visual Studio 2019Crystal Report SP26 SetDataSource() 方法在 Visual Studio 2019 中客户端的计算机中失败
【发布时间】:2020-04-27 05:12:23
【问题描述】:

​我正在开发 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 运行时的计算机上运行我的程序时,它会在调用 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)

我在编写任何程序时都会遇到这种情况。有人有办法解决这个问题吗?

【问题讨论】:

    标签: vb.net visual-studio crystal-reports visual-studio-2019


    【解决方案1】:

    感谢@Julie,我发现缺少文件需要使用 Crystal Report SP26 运行 ADO.Net 报告。 不幸的是,当您安装 SP26 运行时,它不会复制 crdb_adoplus.dll 文件,该文件需要水晶报表从 ADO.Net 数据集加载数据。

    解决办法如下:

    • 在 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 在未来的服务包中解决这个问题。

    【讨论】:

    • 非常感谢,8 年多后,这解决了我一直在努力解决的问题!
    • 谢谢!这是 SAP 的一次重大失败
    【解决方案2】:

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

    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

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题,发现通过修复 Windows 的“程序和功能”中的程序,它会自动修复问题,甚至无需重新启动机器!

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

      “唯一有用的是重新安装或修复。”

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

      【讨论】:

      • 修复 Sap Crystal Report 在我的情况下不起作用。我已经尝试了 sap.com 中的所有解决方案,但只有手动复制文件对我有用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-17
      • 2022-01-09
      • 2023-03-08
      • 1970-01-01
      相关资源
      最近更新 更多