如何升级 SSRS 2005 报告项目以与现代 SSRS 版本一起使用?

How to upgrade SSRS 2005 report project for use with modern SSRS versions?

我已经安装了 SQL 商业智能服务器数据工具 (SSDT-BI) 版本 14.0.61705.170 和 SQL 服务器报告服务 (SSRS) 版本 14.0.608.142。

我正在尝试升级和编辑一组旧报告文件以用于当前版本的 SSRS。项目升级(貌似)ok,报告可以在SSDT-BI报告编辑器中查看。

但是每当我尝试保存这些报告中的任何一个时,都会弹出一个错误消息框,上面写着 "Unknown Report Version: 9.0"。

我怀疑是因为 RDL 文件太旧了,但我在 RDL 文件的任何地方都看不到 9.0,所以我不确定我需要调整什么才能使文件再次可保存。也许是 XML 架构名称或类似名称?

RDL 文件中的主要命名空间目前是 http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition

"Version 9.0" 可能对应于 SQL Server 2005,因为这是 SQL Server 版本的主要版本号,并且 2005 可以在架构命名空间中找到。

This document 表示:

Reports that were created in any previous version of Reporting Services can be upgraded. This includes the following versions:

  • SQL Server 2008
  • SQL Server 2008 R2
  • SQL Server 2012
  • SQL Server 2014

那么...我如何升级这些报告以与现代 SSRS 版本完全兼容?

我从 MSDN 下载 "SQL Server 2012 Express with Advanced Services" 并安装了 SSRS 报告编辑工具,然后使用这些工具打开和保存报告。 (它也可以通过 this Microsoft web page 上的链接下载 Visual Studio 2012(版本 11.0.5583.0)的 SSDT-BI。这将安装基于 VS2012 而不是 VS2010 的不同版本的 SSRS 编辑器。)

这将 .rdl 文件从 2005 报告架构升级到 2008 报告架构(我想 SSRS 2008、2008 R2 和 2012 之间没有实际的架构更改)。

然后可以在 SQL Server 2016 工具中打开和编辑升级后的报告,该工具会将它们再次升级到 SSRS 2016 架构。

我按照这些步骤迁移了旧报告。在 VS2017 中打开旧的 SSRS 报表项​​目(不是解决方案文件)。它要求迁移。然后在设计器模式下打开rdl文件,会升级报表的定义模式。保存报告。然后,您可以使用升级的报告定义架构在 VS2015 或 VS2017 中打开项目文件。