当前SSRS SubscriptionID进入存储过程

时间:2018-03-23 17:38:59

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

我有一份SSRS报告,其中已安排了多个电子邮件订阅。该报告使用存储过程。

每当运行报告时,它会检查row_data中是否存在table_A。如果它不存在,它将通过订阅通过电子邮件发送数据,然后将其添加到表中。

现在问题是,当第一个订阅运行时,它将添加row_data。但是,当第二个订阅运行时,它会检查table_A并发现row_data已经在table_A中。第二个和以下订阅将错过此row_data

是否有解决方案,所有订阅都发送完全相同的报告?将所有订阅合并为一个不是一个选项,因为每个订阅的电子邮件列表必须是分开的。

我尝试在table_A中添加一个额外的列,以跟踪订阅运行的计数,但是当其中一个订阅无法运行时,此解决方案将失败。

也许有一种方法可以在存储过程中从ReportServer.dbo.Subscriptions.SubscriptionID获取当前正在运行报表实例的订阅ID。如果这是可能的,我可以使用它,但我不知道如何获取存储过程中的当前subscriptionId或作为参数。任何帮助将非常感谢。谢谢。

0 个答案:

没有答案