2013-11-04 42 views
1

我已爲報表創建了數據驅動的訂閱。訂閱從Oracle數據庫的表中獲取數據。 (查詢:select * from Mytable) 我想要做的是按事件標記報告(已按計劃工作)。 例如,當Oracle中的表中插入新行時,將觸發訂閱並生成新報告。 我如何解決這個問題?謝謝!SSRS如何在將新數據加載到數據庫時觸發訂閱

回答

2

我可以想到一些方法。通過一些額外的數據庫設計,您可以在表格中爲插入的行設置一個標誌,但尚未報告。然後,您可以更改數據驅動的訂閱查詢,以運行查找標誌的存儲過程,將行返回給訂閱,並更新表中的標誌。 然後,您可以安排數據驅動的訂閱以適當的時間間隔觸發 - 當表中沒有插入行時,沒有行返回到訂閱,因此它不會觸發。

如果你希望報告在火中的每一個插入,那麼另一種方法是設置一個觸發你的桌子上,使每一個行插入的時候,把它放到了Report Server數據庫發送代碼,如下所示:

exec [ReportServer].dbo.AddEvent @EventType='TimedSubscription', @EventData='520580b3-bd4e-4221-9254-b220bc16ca55' 

上面的代碼是SQL Server如何觸發作業中的訂閱。您只需通過觸發器直接調用作業。 @EventData中的GUID是您想要觸發的SubscriptionID。您必須查看訂閱表(在ReportServer數據庫中)來弄清楚。另外,如果你走這條路線,我建議你將數據驅動訂閱設置爲「一次性」時間表。

相關問題