SSRS 2016 报告计划 - T-SQL 触发器
SSRS 2016 Report Schedule - T-SQL trigger
我设置了几个 SSRS 订阅,这些订阅是 运行 按需通过(这只会触发预先存在的计划)
EXEC msdb.dbo.sp_start_job = '0B5B5AB1-F475-4478-A3DA-3D602C4FDA4C'
我最想做的是拥有一个 SSRS 订阅,我可以通过存储过程使用不同的参数值多次传递该订阅,目前这些值是在订阅本身中设置的。
例如,我有一个带有 @Client
参数和 3 个客户端(123、124 和 125)的报告。
所以我 运行 一个将执行 SSRS 订阅并传递指定参数的存储过程。即 - 123。下面的示例 -
EXEC msdb.dbo.sp_start_job = '0B5B5AB1-F475-4478-A3DA-3D602C4FDA4C' @Client = 123
但是我找不到可行的方法
我可能没有完全理解你的问题,所以如果我让你陷入困境,请提前道歉。话虽如此..
鉴于您的情况,这就是我设置报告及其订阅的方式。
我会在报告中放置参数 @Client
,并从 table 中获取它的值,我们称它为 Client_Table
,其中包含一个属性 ClientCode
,这将驱动报告中选择了哪些数据。
然后我将创建一个存储过程,其中将嵌套 EXEC msdb.dbo.sp_start_job = '0B5B5AB1-F475-4478-A3DA-3D602C4FDA4C'
,但会 运行cate 包含 @Client
值的 table,仅针对您希望为其执行特定报告的客户。像这样的..
create proc ProcNameHere @ClientID int
as
truncate table Client_table --Truncate values from previous run
Insert Client_Table
Select @ClientID --add ClientID for this run
EXEC msdb.dbo.sp_start_job = '0B5B5AB1-F475-4478-A3DA-3D602C4FDA4C' -- run the report that takes clientid from Client_ID table
如果这就是您的意思,请告诉我。
这样您可以使用 EXEC ProcNameHere '123'
到 运行 客户 123 的报告,因为这将是 table 中唯一在报告中驱动客户选择的条目.
我设置了几个 SSRS 订阅,这些订阅是 运行 按需通过(这只会触发预先存在的计划)
EXEC msdb.dbo.sp_start_job = '0B5B5AB1-F475-4478-A3DA-3D602C4FDA4C'
我最想做的是拥有一个 SSRS 订阅,我可以通过存储过程使用不同的参数值多次传递该订阅,目前这些值是在订阅本身中设置的。
例如,我有一个带有 @Client
参数和 3 个客户端(123、124 和 125)的报告。
所以我 运行 一个将执行 SSRS 订阅并传递指定参数的存储过程。即 - 123。下面的示例 -
EXEC msdb.dbo.sp_start_job = '0B5B5AB1-F475-4478-A3DA-3D602C4FDA4C' @Client = 123
但是我找不到可行的方法
我可能没有完全理解你的问题,所以如果我让你陷入困境,请提前道歉。话虽如此..
鉴于您的情况,这就是我设置报告及其订阅的方式。
我会在报告中放置参数 @Client
,并从 table 中获取它的值,我们称它为 Client_Table
,其中包含一个属性 ClientCode
,这将驱动报告中选择了哪些数据。
然后我将创建一个存储过程,其中将嵌套 EXEC msdb.dbo.sp_start_job = '0B5B5AB1-F475-4478-A3DA-3D602C4FDA4C'
,但会 运行cate 包含 @Client
值的 table,仅针对您希望为其执行特定报告的客户。像这样的..
create proc ProcNameHere @ClientID int
as
truncate table Client_table --Truncate values from previous run
Insert Client_Table
Select @ClientID --add ClientID for this run
EXEC msdb.dbo.sp_start_job = '0B5B5AB1-F475-4478-A3DA-3D602C4FDA4C' -- run the report that takes clientid from Client_ID table
如果这就是您的意思,请告诉我。
这样您可以使用 EXEC ProcNameHere '123'
到 运行 客户 123 的报告,因为这将是 table 中唯一在报告中驱动客户选择的条目.