背景:
有時候需要將一個個開發好的獨立的ETL包串接起來形成一個獨立而龐大的包,如:每家分公司都開發不同的ETL包,最後使用執行包任務來將這些分公司的包給串聯起來形成一個獨立而完整運行的ETL包,此時我們就需要使用執行包任務,而子包中如果需要讀取父包中的變量等信息,那我們就還需要配置子包的包配置爲使用父包變量,以便能將父包的變量傳遞給子包使用。
事例:
將父包的一個變量傳遞給子包輸出
新建Child.dtsx包,並創建一個變量,以便接受父包中的傳遞變量值,這裏我們使用腳本組件show出父包傳遞的變量值,腳本組件代碼如下:
public void Main() { MessageBox.Show(Dts.Variables["ParVarValue"].Value.ToString()); Dts.TaskResult = (int)ScriptResults.Success; }
新建Parent.dtsx包,並創建一個變量,以存儲一個要傳遞給子包的變量值,並且拖拉一個執行包任務,新建一個文件連接到Child.dtsx包
配置Child.dtsx包的包配置爲啓用父包變量
最後執行,子包彈出信息