2017-10-15 50 views
0

使用报告脚本工具发布命令行报告时,我发现了以下错误报告:错误而发布使用rs.exe

服务器无法处理此 报告的定义无效或由此版本的报告 服务支持。该报告定义可能已与后来 版本Reporting Services的创建,或包含的内容不 合式或基于报表服务模式无效

有关于这个错误和其他问题解决方案似乎总是安装SQL Server 2016或将我的报告项目更改为2014年的输出。事实上,这确实有效,但它不应该是必需的。我的SQL Server版本是13.0.4446.0,这是2016年。此外,我可以在VS内将它发布到2016年。

任何人都知道这是什么原因造成的?

+0

看看[this](https://stackoverflow.com/a/39192968/6490059)是否有帮助。 – SMM

+0

我已经从bin目录中取出。这似乎不是问题。 –

+0

您需要将输出服务器设置为与您的SQL版本匹配。看起来似乎没有必要,但是这是因为基础XML定义在5个或更多版本的SQL中发生了几次更改:-) VS可能会查看目标服务器并覆盖项目设置以发布正确的版本。 – SMM

回答

0

几件事情要尝试:

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

    报告的xmlns = “http://schemas.microsoft.com/sqlserver/reporting/ /01/reportdefinition” 的xmlns:RD =“HTTP:/ /schemas.microsoft.com/SQLServer/reporting/reportdesigner“

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