【发布时间】:2018-07-25 14:11:19
【问题描述】:
我有一个接受日期参数的 SSRS (2016) 报告。用户选择一个日期,然后报告运行并为每位客户返回一页。该报告还有一个数据驱动订阅,当被触发时,通过电子邮件发送与客户相关的输出。
我目前的做法是设置一个只有部分用户可以看到的文本框,点击该文本框会触发订阅。我这样做:
当用户点击“查看报表”按钮时,将用户选择的参数插入到一个表格中,然后使用以下触发订阅:
EXEC msdb.dbo.sp_start_job @job_name ='job name to be sent out'
订阅/报告的数据集然后使用插入到表中的参数来完成它的事情。这一切都很好。
当超过一个人运行报告时会出现问题。第二个人触发器可能会覆盖第一个人参数插入,从而导致发送错误的数据集。
我的问题是......有没有更好的方法来触发数据驱动订阅,其中报告需要参数值 - 但参数值无法预先确定?
如果我的方法是可以接受的,我怎样才能消除参数值的覆盖?
更好的是,如何确定正确的参数并将其传递给订阅?例如会话ID/用户ID..等,
欢迎任何想法或替代实现..
【问题讨论】:
标签: reporting-services subscription ssrs-2016 data-driven