2017-01-01 45 views
0

我試圖創建一個使用SSIS將excel文件導入數據庫的包。SSIS在父容器中執行文件任務如果子容器進程失敗

作爲操作必須定期執行此,文件名遵循慣例,但不是相同的,且同樣的片材/選項卡名稱並不總是相同的,SSIS包被設置爲如下:

主要集裝箱 - > 首先對於每個容器(稱之爲FE1) 獲取文件名(分配給變量) - > 二每個容器(稱之爲FE2) 獲取工作表名稱和開始處理來導入。

我所做的是創建一個從FE2到FE1中的文件系統任務進程的「失敗」優先級約束。

這個想法是,如果導入不管任何原因導致不成功,文件移動就完成了。

(一旦它的工作我想創建該文件移動到存檔文件夾「成功」的過程)

存在時,只有一個「每個集裝箱的」文件任務過程有效(即不能嵌套它現在的方式),但當所有進程都在引用「正在使用的文件」的嵌套容器中時失敗。我假設這是因爲每個容器的第一個鎖定文件,因此爲什麼我將文件任務進程移動到每個容器的第一個容器並使用先行控制。

任何幫助和建議非常感謝。

screenshot

回答

0

對於誰可能有同樣的問題,其他人的利益:

愛情也不錢我能得到的Excel連接器釋放文件,甚至當移動文件的任務是外循環。

最後,我記錄了移動到數據庫中的表中的文件,然後執行了第二個包含移動文件任務的包,並通過成功導入(導入失敗)列表遍歷錶行,文件並根據失敗/成功標誌將它們移動到目標位置。

這是我成功做到這一點的唯一方法。

當必須遍歷每個excel文件的工作表(即有效的兩個excel連接)時,SSIS不會釋放這些文件,所以我永遠收到了使用中的文件錯誤和失敗。

相關問題