【问题标题】:Error while publishing a report using rs.exe使用 rs.exe 发布报告时出错
【发布时间】:2017-10-15 19:01:51
【问题描述】:

使用报告脚本工具从命令行发布报告时出现以下错误:

System.Web.Services.Protocols.SoapException:这个的定义 此版本的报告无效或不支持报告 服务。报告定义可能是使用稍后创建的 Reporting Services 的版本,或包含不是 基于 Reporting Services 架构的格式正确或无效

关于此错误还有其他问题,解决方案似乎总是安装 SQL Server 2016 或将我的报告项目更改为 2014 年的输出。这确实有效,但没有必要。我的SQL Server 版本是13.0.4446.0,即 2016 年。此外,我可以在 VS 中正常发布,并将其设置为 2016 年。

有人知道这是什么原因吗?

【问题讨论】:

  • 看看this是否有帮助。
  • 我已经从 bin 目录中提取了。这似乎不是问题。
  • 您需要设置输出服务器以匹配您的 SQL 版本。这似乎没有必要,但这是因为底层 XML 定义在 5 个左右的 SQL 版本中已经更改了几次 :-) VS 可能会查看目标服务器并覆盖您的项目设置以发布正确的版本。
  • 确实匹配。这就是我不明白的。我安装了 SQL Server 2016,在我的 VS 报告项目中,我的 TargetServerVersion 是“SQL Server 2016 或更高版本”。
  • 糟糕...误读了服务器版本部分。有趣的。您是否尝试过对 VS 部署的 RDL 与 Bin 文件夹中的 RDL 与命令行工具部署的 RDL 进行比较?

标签: reporting-services ssrs-2016 rs.exe


【解决方案1】:

有几件事可以尝试:

  1. 你用的是什么版本的VS?我遇到了一个问题,我会在 VS 2015 中打开一个解决方案(我认为)并且它在没有告诉我的情况下升级了报告定义。当您在 VS 中选择部署目标时,它会即时更改文件,而不是解决方案中的源文件。因此,您会看到不同的结果。
  2. 您可以通过从 SSRS 下载报告并在文本编辑器中打开 RDL 来检查这一点。与您的解决方案 RDL 进行比较并检查标题。顶部的 Schema 是您要比较的:

    报告 xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer /reporting/reportdesigner"

  3. 另一种选择:您是否尝试过使用 PowerShell 进行部署?查看SSRS GitHub 的命令,但它会是 2 行,可能是 3 行代码。非常容易使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-27
    • 1970-01-01
    • 1970-01-01
    • 2020-10-15
    • 1970-01-01
    相关资源
    最近更新 更多