2013-04-08 227 views
3

有沒有一種方法可以在SSIS執行期間動態地創建目標文件夾,而無需使用腳本任務,比如說。我有代碼123,133,143,我想下面創建一個文件夾的位置,如果這樣不存在動態文件夾命名SSIS

D:\Outbox\ACI\123 
D:\Outbox\ACI\133 
D:\Outbox\ACI\143 

d:\發件箱\ ACI是靜態的,而123,133,143只掉了,結果一個執行SQL查詢組件。

有人請嗎?

回答

6

您需要編寫expression以獲取文件夾名稱的動態值。可以說你有一個包像下面

enter image description here

的第一部件的一個是execute SQL Task從像123, 133, 143

ForEach component一個表中的值中檢索ID列舉這些值,並且傳遞所述individual IDFile System Task(創建文件夾)使用動態名稱創建文件夾。

第1步:在SSIS

Name  DataType Expression 
ID   Int32 
FolderPath String "D:\\Outbox\\ACI\\" + (DT_WSTR, 10) @[User::ID] 
FileID  Object 

創建3個變量對於變量FOLDERPATH設置EvaluateAsExpression爲真

步驟2:配置執行SQL任務從表中獲取的ID的

enter image description here

步驟3:將ID存儲到FileID變量

enter image description here

步驟4:配置ForEach部件

enter image description here

enter image description here

步驟5:配置文件系統任務創建directory

enter image description here

+0

我試過了你的建議,但是我有一個錯誤「路徑中有非法字符」,但我無法確定它在哪裏, – 2013-04-10 04:36:42

+0

@paulpolo:路徑中有一個黑色閃光燈試試這個''D:\\發件箱\\ ACI \\「+(DT_WSTR,10)@ [User :: ID]' – praveen 2013-04-10 05:31:53

+0

恐怕在應用您的建議後錯誤仍然存​​在。 – 2013-04-10 06:31:41