2015-11-11 90 views
1

SSRS有大量數據集和順序是像下面SSRS執行數據集在結束

Dataset1 
Dataset2 
Dataset3  
Dataset4 -- This deletes some data from above Dataset Tables 
NewDataset1 
NewDataset2 

我已經Dataset4後添加新的數據集。數據集4調用DELETE過程,並且在添加NewDatasets之前運行良好。

現在,我認爲它執行命令它顯示SSRS是正確的? 如果是這樣,那麼最終總是會運行DataSet4的解決方案(在NewDataset1和NewDataset2之後)將不會刪除該數據集。

回答

1

用於執行序列中的數據集您可以序列化數據集執行轉到報告設計器中的數據源對話框並選擇Use Single Transaction複選框。

一旦選定,使用相同數據源的數據集不再是並行執行的 。它們也作爲交易執行,即如果任何查詢執行失敗,則返回 ,整個交易回滾爲 。

數據集執行順序的順序由RDL文件中數據集外觀的自頂向下順序決定,其中 也與報告設計器中顯示的順序相對應。

請務必根據需要按順序創建數據集,最後留下數據集4。

同時檢查this

3

根據this MSDN blog post

默認情況下,數據集被並行

如arctile也提到它也突出實例時,這是不期望的執行行爲如

您正在執行帶有副作用的查詢(例如,更新語句),並需要執行特定的數據集序列

這聽起來像上面發生的情況(如果DataSet4)正在執行刪除數據。

最後的文章,迫使數據集執行後,另一個(Serializsation)在一個特定的順序依次執行

打開報表設計器的數據源對話框中,選擇「使用單交易」中提到複選框

enter image description here

要改變你的數據集的順序(如果需要)打開查看代碼(右鍵報告名稱 - >查看代碼),並實際地改變日e XML將數據集剪切並粘貼到正確的順序

+0

將複選框作爲單個事務應用,是否仍需要設置數據集的順序? –

+0

是的,如果一個數據集可能會影響另一個數據集,則應該按順序執行它們 – Jonnus