从SSIS包执行多个SSRS报告

时间:2016-11-12 11:43:27

标签: reporting-services ssis

我开发了一个SSIS包,用于从Reporting Services运行3个报告,这些报告是数据驱动的订阅。

当我运行SSIS作业时,它会同时执行所有3个报告,我需要的是按顺序运行报告,换句话说,一个接一个地运行报告。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

这是预期的行为。当您触发数据驱动的订阅作业时,SQL Server代理会启动作业并完成整个事务。然后,SSIS包将继续触发下一个数据驱动的订阅作业和下一个(假设您按顺序放置了作业触发)。

现在,如果要以作业运行方式创建依赖关系,即Job1后跟Job2后跟Job3,则需要手动编写其他代码段。它的方法是监视订阅的状态代码。

在ReportServer数据库中有一个名为dbo.Subscriptions的表,其中包含一列' LastStatus'。目前在我的本地数据库中,我没有任何订阅,也无法找到该表的任何文档。但我很确定这可能是一个布尔值或一个状态标志,例如' Sucess'或者'失败。触发第一个作业后,您需要编写.net代码以使用轮询间隔监视此状态。一旦获得理想的结果,继续触发下一份工作。

希望这很清楚。我会用一个有效的例子来编辑这个答案。