我有一份SSRS报告,其中已安排了多个电子邮件订阅。该报告使用存储过程。
每当运行报告时,它会检查row_data
中是否存在table_A
。如果它不存在,它将通过订阅通过电子邮件发送数据,然后将其添加到表中。
现在问题是,当第一个订阅运行时,它将添加row_data
。但是,当第二个订阅运行时,它会检查table_A
并发现row_data
已经在table_A
中。第二个和以下订阅将错过此row_data
。
是否有解决方案,所有订阅都发送完全相同的报告?将所有订阅合并为一个不是一个选项,因为每个订阅的电子邮件列表必须是分开的。
我尝试在table_A中添加一个额外的列,以跟踪订阅运行的计数,但是当其中一个订阅无法运行时,此解决方案将失败。
也许有一种方法可以在存储过程中从ReportServer.dbo.Subscriptions.SubscriptionID
获取当前正在运行报表实例的订阅ID。如果这是可能的,我可以使用它,但我不知道如何获取存储过程中的当前subscriptionId
或作为参数。任何帮助将非常感谢。谢谢。