2016-11-10 55 views
0

我想知道SSIS中是否存在以下問題的解決方案。SSIS自動映射到OLE DB目的地

我有2個列表(ID和名稱字段),我創建了第3列與SQL腳本任務,稱爲文件名。如果該列尚不存在,則僅創建該列。我的軟件包在數據流級別的控制下顯示如下。

我的軟件包將創建列「文件名」就好了,如果它不存在,但不是在循環中正確拉取文件的名稱,它將全部爲空,因爲「文件名」未映射到目的地(因爲它以前不存在)。我可以簡單地通過轉到目的地並將文件名從循環映射到已創建的「文件名」列來解決此問題,但這意味着我必須重新運行該包。

我的核心問題是,SSIS有自動將包含文件名的變量自動映射到在循環外創建的目標列「文件名」的方法嗎?或者當我運行包時,每次使用沒有列的表的工作表時,都必須手動映射那個東西。

感謝,

enter image description here

enter image description here

+0

_is有一種方法讓SSIS將包含文件名的變量自動映射到在loop_外創建的目標列。不可以。您可以在設計時使用某種虛擬桌子,然後映射該列。在運行時,只要驗證關閉,它可能會運行正常。但是下次你編輯軟件包時,你必須確保他的整個設置都正確。我必須問:爲什麼列中不存在永久存在的列?在飛環上創建列警鈴。數據庫和集成真的取決於一致的元數據 –

+0

..而'不'我的意思是'是的,但我很複雜,你不想這樣做(使用BIML,編輯包XML等) –

回答

0

確保在您的腳本 - 總有返回值。成功時返回失敗的文件名返回NULL或''。在這種情況下,在您的OLEDB目標處進行一次映射就沒問題。