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