2016-11-12 134 views
0

我開發了一個SSIS包來運行Reporting Services中的3個數據驅動訂閱報告。從SSIS包執行多個SSRS報告

當我運行SSIS作業時,它一次執行所有3個報告,我需要的是按順序運行報告,換句話說,一個接一個地運行報告。我怎樣才能做到這一點?

回答

0

這是一個預期的行爲。當您觸發數據驅動的訂閱作業時,SQL Server代理將啓動作業並完成整個事務。然後,SSIS包將繼續觸發下一個數據驅動的訂閱作業,下一個(假設您已經按順序執行了作業觸發)。

現在,如果您想要以作業應運行的方式創建依賴項,即Job1緊跟Job2,然後緊跟Job3,則需要手動編寫額外的代碼片段。處理它的方法是監視訂閱的狀態代碼。

在ReportServer數據庫中有一個名爲dbo.Subscriptions的表,其中包含一列'LastStatus'。目前在我的本地數據庫中,我沒有任何訂閱,也無法找到該表的任何文檔。但我很確定這可能是布爾型或狀態標誌,如「Sucess」或「Failure」。觸發第一項工作後,您需要編寫一個.net代碼,以輪詢間隔監視此狀態。一旦你獲得了理想的結果,繼續觸發下一份工作。

希望這是明確的。我會用一個工作示例編輯這個答案。

+0

感謝VKarthik,我不是一個.net程序員,我希望你能提供代碼。 – Sabby

+0

標誌值爲:完成:1個總共1個處理; 0錯誤,或待定或錯誤:此報告要求.... – Sabby