[英]How to create separate transformed file instead of overwrite ssis output flat file?
我有一個數據流,用於對每個循環容器中的給定文件夾中的多個平面文件進行轉換。 我再次有一個平面文件作為輸出文件。 問題是每次我執行作業時,只有最后一個被轉換的文件才會存儲在目標文件中。 有沒有辦法在 SSIS 中創建單獨的轉換輸出文件,而不是一遍又一遍地覆蓋同一個文件?
為了。 例如。 我在一個文件夾中有 5 個平面文件 ,test_1.txt,test_2.txt,test_3.txt,test4_.txt 和 test_5.txt。 作業運行后,我只能看到最后一個文件 test_5.txt 中的數據在我的目標文件中被轉換。
這是我測試的一個工作示例的步驟。
我定義了 3 個變量:
- FileName - 用於 foreach 循環
- DestinationDir - 文件去哪里
- SourceDir - 我要處理的文件在哪里
- “目錄”的表達式設置為 @[User::SourceDir]
- 檢索文件名設置為“名稱和擴展名”
這意味着當 foreach 循環遍歷目錄中的文件時,它會將文件的“名稱和擴展名”設置為變量 @[User:FileName]
然后在 DFT 中,我有一個簡單的平面文件源到平面文件目標。 我們只是將每個文件的內容傳遞給新文件:
在最初的開發過程中,我將手動選擇一個文件來逐步設置每個源和目標。 然后回來更改連接管理器並在 ConnectionString 上設置一個表達式。
- ConnectionString 得到一個表達式:@[User::SourceDir] + @[User::FileName]
- ConnectionString 得到一個表達式:@[User::DestinationDir] + @[User::FileName]
有多種方法可以使用變量和表達式在 SSIS 中執行您所要求的操作,但有一種更簡單的方法可以使用命令行來完成它。
由於您只是將文本文件合並為 1,因此您可以使用命令提示符來更好地處理您的問題:
copy *.txt output.txt
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.