sql-server-2008 - 停止在 SSRS 2008 R2 数据驱动订阅中发送空报告

标签 sql-server-2008 reporting-services ssrs-2008

我正在使用 SSRS 2008 R2 中的数据驱动订阅来安排一些报告。

无论生成的报告是否为空,报告仍会发送给收件人。长期以来,这一直是一个常见问题,老实说,我在论坛上看到的建议并没有完全奏效。

我尝试过的建议之一是,我创建了一个隐藏参数,并将其设置为默认值选项卡中主数据集上的一个字段。如果报告为空,它会抛出错误,如果有一些数据要在报告设计器中显示,则会生成报告。但是,当我安排此报告时,它要求我提供默认值,如果不提供它,我将无法完成调度程序向导。如果我提供任何默认值,仍会发送空报告。但与此不同的是,应该为空报告抛出错误,并且不应发送它们。

以前有人用过这个方法吗?如果是这样,你能告诉我我在这里缺少什么吗?

我只是想知道你们是否有针对这个问题的理想解决方案。

非常感谢您的帮助。

问候

最佳答案

这是我的解决方法:通过存储过程检索数据并将以下代码放在最后

IF @@ROWCOUNT = 0 RAISERROR('No data', 16, 1)

查询 Russell Christopher's article and comments更多细节。令我惊讶的是,已经 6 年了,MS 无法为此提供解决方案:3

关于sql-server-2008 - 停止在 SSRS 2008 R2 数据驱动订阅中发送空报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8560002/

相关文章:

tsql - 表值函数 [XML 阅读器] 非常慢 - 替代方案?

sql-server-2008 - xp_cmdshell 在被调用的 exe 退出后挂起

sql - 将十进制转换为时间 SSRS/SQL

reporting-services - SSRS 如何移动行组?

reporting-services - SSRS 2008 图表和条件数据标签

asp.net - Web.config 中使用附加 .mdf 数据库的数据库连接字符串不起作用

ssrs-2008 - 在 SSRS 报告中显示上标

asp.net - 如何以编程方式将参数传递给 SSRS 报告

excel - SSRS 2008 Excel 货币单元格格式

sql - 多条记录的 SCOPE_IDENTITY