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> */
并且它正确执行。似乎其他带破折号的评论风格让服务器认为之后的一切都是评论,因此没有被执行。
我有一份在 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> */
并且它正确执行。似乎其他带破折号的评论风格让服务器认为之后的一切都是评论,因此没有被执行。