有没有办法以编程方式执行具有不同报表参数的现有订阅?
到目前为止,我通过SQL执行订阅,如下所示:
EXEC ReportServer.dbo.AddEvent 'TimedSubscription', '<Subscriptions.SubscriptionID>'
但这似乎只允许我按原样执行订阅。
编辑:我想为我们现有的订阅(总共 50+ 个)执行此操作。手动重新创建每个订阅是不可行的。
中的第一个注释者在运行 AddEvent
命令之前通过存储过程更新Subscriptions
表中的Parameters
值:
update Subscriptions
set Parameters=
'<ParameterValues><ParameterValue><Name>Value</Name><Value>' + @value + '</Value></ParameterValue></ParameterValues>'
where SubscriptionID='XXX-XXX-XXX-XXX'
解决此问题的方法是在报表上设置数据驱动订阅,该订阅根据专门设计的 SQL 表中保存的值填充参数。 然后,我设置了一个存储过程,使用所需的值填充该表,然后使用 AddEvent
触发订阅。
如果需要比生成报表更频繁地运行触发订阅,从而清理查找表,则此方法可能会遇到问题。 如果报告不是那么频繁,你应该没问题。
如果我正确理解了您的问题,您可以采取以下两种方法:
方法1
步骤 1:导航到要使用不同参数运行的报表。
步骤 2:选择以管理报告
步骤 3:选择创建链接报表
步骤 4:选择报表可以驻留的位置。
步骤 5:对于新的链接报表,单击以管理报表
步骤 6:更改要传递
的默认参数步骤 7:为新链接报表创建订阅。
方法2
步骤 1:导航到要使用不同参数运行的报表。
第 2 步:选择以管理报告。
步骤 3:为报表
创建订阅步骤 3a:创建订阅时,指定要传递的值。
希望这有帮助!