我有8個「.txt」文件,所有這些文件都有不同的列,我想在SSIS中創建一個循環,以便使用動態命名將其導入到單獨的SQL表中。就像 「靜態文本」+「文件名」,其中文件名是可變的。SSIS動態文件導入到SQL表
我已經做過包之前這樣做,但他們只是爲具有靜態列的文件,他們只是追加到同一個SQL表。我正在尋找爲現在通過循環運行的每個文件創建一個新的SQL表。
有沒有辦法在SSIS中做到這一點?如果有人可以建議修改,我已經在下面截取了我的一些軟件包。預先感謝您提供的任何幫助。
我有8個「.txt」文件,所有這些文件都有不同的列,我想在SSIS中創建一個循環,以便使用動態命名將其導入到單獨的SQL表中。就像 「靜態文本」+「文件名」,其中文件名是可變的。SSIS動態文件導入到SQL表
我已經做過包之前這樣做,但他們只是爲具有靜態列的文件,他們只是追加到同一個SQL表。我正在尋找爲現在通過循環運行的每個文件創建一個新的SQL表。
有沒有辦法在SSIS中做到這一點?如果有人可以建議修改,我已經在下面截取了我的一些軟件包。預先感謝您提供的任何幫助。
,如果你有不同的結構,許多來源的你不能做到這一點。因爲SSIS需要在設計時更正元數據(列,數據類型等)。
但是,如果您具有相同結構的表格,則必須創建一個目標表格(temp)並將其名稱放入變量VarFileName
中,並將其映射到OLEDB Destination
中的列中。並且您必須將DataFlowTask屬性DelayValidation
設置爲True。因此在DataFlowTask開始執行之前不會檢查元數據。
創建表應當與Execute SQL Task
使用表達式(從變量傳遞表名)
希望它可以幫助
你不能這樣做。 SSIS需要在設計時更正元數據(列,數據類型等)。您無法在運行時動態更改它們。 – JodyT
你確定沒有辦法在SSIS中對其進行編碼嗎?我以前見過這個,只是不知道我還需要什麼。 – bkubs557
您應該能夠從文本文件中提取列名,並使用這些名稱構建動態sql語句來創建表,然後使用執行SQL任務來執行準備好的create table命令。 –