Reporting services SSRS-如何有条件地向邮件地址发送报告

Reporting services SSRS-如何有条件地向邮件地址发送报告,reporting-services,Reporting Services,让我具体说明一下环境。客户端具有用于在SQL Server数据库中输入订单的UI。另一台计算机上的Windows服务以特定的时间间隔处理来自数据库的这些订单。有时Windows服务停止,订单就会堆积起来。为了避免这种情况,我创建了一个每隔5分钟运行一次的SQL Server报告。它检查处理的订单数量并创建状态报告。我想要的是,如果已处理订单的计数为零,则将报告邮寄给系统管理员。然后,他将检查托管服务的机器并重新启动服务,以避免所有返工。因此,问题是如何实施这种有条件的报告交付。简而言之,如果计数

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

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

我不得不使用的解决方案(是的,我知道这很难看,效率低下,而且有点尴尬…)是在存储过程中运行搜索查询。如果未找到行,则会导致错误。如果找到行,请重新运行查询

SELECT * FROM TABLE

IF @@RowCount = 0
BEGIN
    SELECT 1/0
ELSE
SELECT * FROM TABLE
END

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

这已经晚了4年,但是对于任何偶然发现这个错误的人,a将起到作用

简而言之,您可以创建一个查询,如果有数据,则返回收件人;如果没有任何数据,则返回NULL