Ssis

SSIS:將變數從子包傳遞到父包

  • April 29, 2019

我有一個由許多包組成的 SSIS 項目,包括一個 Main_Flow 包,它以所需的順序執行其他包。

第一個被呼叫的包Main_FlowExtract_Archive一個用於查找壓縮文件的 ForEach 容器。如果存在一個或多個 zip 文件,它會將它們提取到一個位置並將變數標記ArchiveFileFound為 TRUE。

ArchiveFileFound現在回到 Main-Flow 包,我希望僅當fromExtract_Archive設置為 TRUE 時才執行下一步。但是,該變數僅存在於Extract_Archive. 我一直在尋找有關如何將變數從一個 SSIS 包傳遞到另一個包的資訊,但我找不到一個好的實用且推薦的範例。有什麼想法嗎?

這可以使用子包中的腳本任務來完成,以根據子包中變數的值更新父包中的變數,假設訪問的變數在父包和父包中都沒有相同的名稱子包。雖然父包中的變數不會顯示在ReadWriteVariables腳本任務的欄位中,但如果您在此處輸入它們,則可以訪問它們。更新父包中的變數將遵循與相同包中的變數相同的語法,C# 範例對此進行了詳細說明。

Dts.Variables["User::ParentVariable"].Value = Dts.Variables["User::ChildVariable"].Value;

引用自:https://dba.stackexchange.com/questions/220986