2017-10-06 61 views
0

重定向到另一個包參考這個問題Limitations in SSIS package files我決定使用「序列」「執行包任務」分裂我的任務在兩個文件中,但我的問題是,如何從同一地點繼續包裝1完成。我的意思是,如果我們想對數據做一些改變,如何將數據引導到另一個包而不將數據存儲在數據庫中? (我說的是許多行數據不是單個參數)如何將值從一個包在SSIS

有什麼辦法可以做到嗎?我找不到任何關於它的教程,如果與我分享任何內容,我將不勝感激。

此圖像可以解釋我在找什麼。 enter image description here

回答

1

沒有直接的方法可以將緩衝區數據從一個數據流發送到另一個數據流,您需要將數據存儲在某個地方。

幸運的是,這很容易做到這一點。您可以將數據存儲在raw file中。應該比寫入SQL表更快。通過參數將文件位置傳遞給下一個包,並在那裏對原始文件源進行參數化以使用它。

如果您只需要對數據執行查找,則可以使用緩存轉換。 Here你可以找到一個關於在軟件包之間共享緩存數據的好教程。

+0

它被推薦用於大量的數據? – Amir

+1

SSIS使用RAM內存中保存的緩衝區(它將數據拆分成更小的部分並一次處理幾行)在數據流內處理大量數據。在你的情況下,我會說除了將數據寫入磁盤之外別無他法,因爲我認爲在切換到下一個軟件包時,您無法一次性將所有RAM中的數據保存在對象類型變量中。我不知道哪個更好 - SQL服務器表或原始文件,你需要檢查。我會賭一個原始文件。 – PacoDePaco

+0

你有沒有Talend的經驗?如果是的話,你推薦SSIS還是Talend? – Amir

1

您可以將多行數據存儲在SSIS對象類型變量中,並在程序包之間共享變量。

+0

你能解釋一下嗎?任何好的教程要遵循?是否建議大量數據? – Amir