2017-06-06 140 views
2

我正在處理一個SSIS項目,該項目通過web下載文件並將數據上傳到sql server,然後將下載的文件移動到另一個文件夾。下面是一個更清晰的圖像SSIS:文件系統任務'找不到文件'

enter image description here

我有一個變量: Source_Folder一個值:C:\Users\T-Aordiz\Documents\DumpDatas\Outbound Dump\Dump Success_Folder值:C:\Users\T-Aordiz\Documents\DumpDatas\Outbound Dump\Success

For Each LoopExpressions:@[User::Source_Folder] , Variable Mappings: User::FileName(which is blank string)

,這裏是我的文件系統任務

enter image description here

但是我會遇到這樣的錯誤消息

Error: 0xC002F304 at Success, File System Task: An error occurred with the following error message: "Could not find file 'C:\Users\T-Aordiz\Documents\DumpDatas\Outbound Dump\Dump'.". Task failed: Success

我試圖在File System Task改變表達也遇到一個錯誤。幫助我們

+0

您試圖移動一個不存在的*文件*。你想移動一個文件夾嗎? –

回答

2

源連接映射,

選項1, 當使用Foreach File Enumerator - 「檢索文件名',如果您選擇Fully Qualified,它會爲您提供完整的路徑,這意味着@[User::Filename]包含帶擴展名的文件夾和文件名。你可以使用這個變量作爲源連接變量。

選項2, 當使用Foreach File Enumerator - 「獲取文件名」,如果選擇「名和擴展名」,這意味着你必須創建另一個變量FilenameFullpath,指定爲@[User::Source_Folder] + "\" + @[User::Filename]表達。 (你總是可以包含「\」在你宣稱的文件夾結束。)

目標連接,

您只需指定一個文件夾,沒有必要包括文件名和擴展名。

2

在文件系統任務中,您必須選擇變量containsnig源文件名和目標文件名不是文件夾。

選擇@[User::Filename]源,並選擇目的地包含目標文件路徑的另一個變量(不是文件夾,必須包括擴展名的文件)

您可以使用腳本任務或任務表達產生的目標價值。通過連接源文件名(無路徑)+目的地文件夾

注意@[User::Filename]應在Foreach Loop container