SSRS 2014报告部署问题

时间:2016-08-28 07:17:29

标签: sql-server reporting-services visual-studio-2015

我使用的是SQL Server 2014报表服务器(http://localhost/Reportserver上显示的报表服务器版本 12.0.4100.1 ),并且还在使用Visual Studio 2013进行开发。

最近我开始研究新PC并且只安装了Visual Studio 2015企业版。目前我的报告是使用Visual Studio 2013附带的商业智能开发的,我无法在新PC上打开我的报告项目。因此,我安装了商业智能工具以与Visual Studio 2015相匹配,并对2个报告进行了小的更改。无论如何,我注意到报告的设计代码发生了巨大的变化。

问题是,当我尝试将更改的报告上传到报表服务器界面上的报表服务器时,收到错误消息:

  

此报告的定义无效或不受此支持   Reporting Services的版本。报告定义可能是   使用更高版本的Reporting Services创建,或包含内容   基于Reporting Services的格式不正确或无效   模式。详细信息:报表定义的目标无效   命名空间   ' http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition'   无法升级。 (rsInvalidReportDefinition)获取在线帮助

我仍然可以通过选择解决方案上的部署选项,将同一报告从Visual Studio 2015上传到同一台服务器。

有人可以帮助我将vs 2015设计的报告上传到SSRS。

1 个答案:

答案 0 :(得分:11)

我现在正在打电话,所以最近无法仔细检查确切的语法。您可能习惯于从源文件夹中部署.rdls。新版本vs 2015与较旧的服务器版本相比,您需要执行几个简单的步骤。

  1. 确保在项目属性中正确设置了目标环境。可能是因为升级应该识别它。
  2. 构建您的项目。源文件仍将采用新格式,但将在bin子文件夹中的目标版本中创建.rdls(和其他文件)。这些可以毫无问题地部署。
  3. 从Report Server 2016开始,有一个新的文件结构,并且rdl文件中的xmlns发生了变化。使用更新的SSDT-BI的Vs 2015会将您自动打开的每个报告升级为新格式,并将其用作新的源文件。但构建到目标环境将使用旧的xmlns和文件格式创建rdls。

    修改 只需添加一些我在其他answer中添加的其他信息。

    在项目属性下,根据VS版本和安装的SSDT-BI版本,最多可以为TargetServerVersion提供3个选项:

    • SQL 2008
    • SQL 2008 R2,SQL 2012,SQL 2014
    • SQL 2016+(VS 2015中最新的SSDT-BI)

    其中每个都在报告XML代码中使用不同的xmlns。当您打开每个报告时,您的源报告.rdl文件将升级到最新的xmlns - 无论喜欢与否。

    但是,在部署或构建时,bin文件夹中的.rdl文件将被编译为与目标匹配。只要您使用bin文件夹版本(使用VS部署自动),您就可以将这些版本成功部署到您的服务器。