继承了 Crystal Reports 2008 R2 项目 - 我有哪些选择?

Inherited a Crystal Reports 2008 R2 project - What are my options?

最近我从另一个开发商/公司那里继承了一个项目。他们创建了一个 MVC 应用程序,该应用程序使用 Crystal Reports 进行报告。 问题是,我以前从未使用过 Crystal 报告,我使用 SQL 报告服务器 (Microsoft) 完成了所有报告。

所以我的第一个问题是,如何编辑现有报告(.rpt 文件)?我需要一些特殊的 Crystal 报告软件来打开这些文件吗?

在项目转移中,除了应用程序源代码本身,他们还提供了Crystal Reports Runtime 12.2 executable。尽管我似乎无法使用此可执行文件来编辑现有报告。

项目本身已经包含一些用于 Crystal 报告的 DLL,即:

当我尝试 运行 我的开发者系统上的项目时(在安装 运行time 可执行文件后没有编辑报告或任何东西)我收到以下错误:

System.TypeInitializationException: 'The type initializer for 'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception.'

LoadSaveReportException: An Error Has Occured while attempting to load the Crystal Reports runtime

Either the Crystal Reports registry key permissions are insufficient or the Crystal Reports runtime is not installed correctly.

Please install the appropriate Crystal Reports redistributable (CRRedist*.msi) containing the correct version of the Crystal Reports runtime (x86, x64, or Itanium) required. 

报告正在实时服务器上运行(由我从中继承项目的公司配置)。

考虑到以上所有内容,什么是实现此功能的可行选择?

  1. 我是否应该尝试让相当旧的 Crystal Reports (2008) 工作,虽然我什至不知道这是否可能在 windows 10 机器上和 [=50= 】 2019年?
  2. 或者我应该购买新的 Crystal Reports 许可证,我也不知道我是否可以使用新版本 [=52= 编辑/打开 2008R2 版本中设计的旧 rpt 报告] 报告(并花费 500~ 美元购买许可证)?

将来我可能会将 crystal 报告迁移到我知道的东西,例如 SQL 报告服务器,但现在这将是很多工作(一些客户已经请求报告调整),此外,为此我需要知道报告使用的记录来源。

只有在将要执行报告的计算机上才需要 crystal 报告运行时。

在您花费 500 美元购买 SAP Crystal 报告 IDE 的许可证之前,您可能可以使用 Visual Studio 的免费插件,前提是您有一个有效的Visual Studio 的许可证。 Visual Studio 的每个版本都有一个可以安装的插件,允许您使用 Visual Studio 开发和编辑 crystal 报告。只要您使用的版本比报告开发的版本更新,它们就会自动转换为更新的版本。但是,您不能使用任何早于用于创建报告的版本的软件版本来编辑报告。

如果报告非常复杂,将现有报告转换为 SQL 报告可能是一项挑战。没有转换工具可以提供帮助,因此您需要在 SQL 报告中重新创建每个报告。

任何感兴趣的人。最后我们决定将报表迁移到报表服务器。

我们从另一家公司收到了 Crystal Reports 2008 SP2(设计器和运行时)的工具,通过在我们的开发计算机上安装运行时,错误消失了,但是还有许多其他错误在 Crystal Report 2008 服务器和设计器中。 Crystal 报告的有点 'complicated' 的许可模式也不太适合将其升级到更新的 Crystal 报告版本。

我们没有立即迁移到报表服务器的主要问题是报表的数据集正在生成/在应用程序的后端使用多个 EF/Lambda 查询填充。我们现在正在研究通过使用 XML(和 EF / Lambda 查询)设置报表服务器报告的数据源而不是使用查询作为数据源来保持这些数据集的完整性。