SSRS 部署的报表未执行 WHERE 子句

SSRS Deployed Report Not Executing WHERE clause

我有一份在 Visual Studio 2017 年完美运行的 SSRS 报告。

但是当我部署它时,部署的报告返回所有数据,忽略 WHERE 子句中的过滤器。我知道这是因为当我从我的 Visual Studio 报告中删除 WHERE 子句时,数据与部署的报告匹配。

此报告对共享数据源执行 ping 操作;数据集不是共享的。

即使是一个简单的 WHERE tbl.flag = 'Y' 似乎也不会对部署的报告做任何事情。

为什么 SSRS 不能识别整个 SQL?

不是 SSRS 的真正专家,我只是根据一些 YT 教程制作它们并将它们部署到给我的 link,所以任何建议或 link 的研究都是赞赏。

检查 Visual Studio 中报告项目属性中的服务器设置。

如果它们看起来正常,则删除报告的服务器副本并重新部署。

如果报告没有再次出现则证明报告是

一个。未部署(您应该在 visual studio 输出 window 中看到错误),或者 b.它正在部署到您认为应该部署的位置。

您可以在门户网站上按名称搜索报告,它会搜索服务器上的所有文件夹,因此如果部署正常,您可以通过这种方式找到它。

我发现问题是我在 SQL 中的一些内联评论。我在 WHERE 子句上方使用破折号 -- 进行了一些评论,解释了过滤器。一旦我删除它,报告就会正确执行。

我还能够将评论样式更改为 /* <my comment> */ 并且它正确执行。似乎其他带破折号的评论风格让服务器认为之后的一切都是评论,因此没有被执行。