SSRS - 如何有条件地将报告发送到邮件地址

pra*_*NET 5 reporting-services

让我指定一下环境。客户端具有用于在 SQL Server 数据库中输入订单的 UI。另一台机器的 Windows 服务正在以特定的时间间隔处理来自数据库的这些订单。有时 Windows 服务会停止,然后订单就会堆积起来。为了避免这种情况,我创建了一个 SQL Server 报告,该报告以 5 分钟的间隔运行。它检查处理了多少订单并创建状态报告。我想要的是,如果处理的订单计数为零,则将报告邮寄给系统管理员。然后他会检查托管服务的机器并重新启动服务,这样就避免了所有返工。那么问题是如何实施这个有条件的报告提交。简而言之,如果计数为零,则不会邮寄报告,否则必须邮寄。

Dam*_*ehy 0

这是 SSRS 2005 的一个常见问题(不确定 2008 年) - 没有简单的方法来阻止发送空报告。

关联

我必须使用的解决方案(是的,我知道它很丑陋,效率低下,而且有点令人尴尬......),是在存储过程中运行搜索查询。如果未找到行,则会导致错误。如果找到行,请重新运行查询。

SELECT * FROM TABLE

IF @@RowCount = 0
BEGIN
    SELECT 1/0
ELSE
SELECT * FROM TABLE
END
Run Code Online (Sandbox Code Playgroud)

返回错误将阻止订阅者通过电子邮件发送报告。