2011-11-29 23 views
1

我有一個臨時文件夾內C:\Mydata我有.csv文件名稱爲 demo1.csvdemo2.csv在遍歷...等的foreach循環容器未能通過所有文件的文件夾

現在我要插入所有這些文件中的數據到數據庫表

爲了這個,我已經在Directory我提到 C:\MydataForeach Loop ContainerFlat File Source採取了Data Flow Task財產採取Foreach Loop Container是那裏的在file name連接管理器屬性,我應該提,這樣它會遍歷所有文件夾中,其擴展名的文件是.csv 我不喜歡C:\DEMO\*.csv這是給我的錯誤: no file found path is wrong

回答

3

工作有什麼版本從我解釋,你的問題是分配生成的文件從foreach到連接器。

爲此,您需要將Foreach中的文件名分配給一個變量。

要採取的第一步是創建變量。要做到這一點,你需要激活「變量」窗口: Activating "Variables" window

然後,你需要創建一個新的字符串類型的變量,並重命名它。

Creating a new varible

有關SSIS變量的詳細信息,以及如何創建它們,請參閱http://msdn.microsoft.com/en-us/library/ms140216.aspx

現在你需要指定新的變量(在這種情況下,我把它命名爲「文件名」)的foreach循環: foreach loop steps 注意,當選擇「名字只有」在第一個窗口中選擇時,在你的情況下你可能想要「完全合格」!

的截圖是從一個工作項目我已經採取和我使用的唯一名稱(名存實亡),而不是完整的路徑(完全限定)

這樣做,你需要指定該變量之後你的平面文件連接器使用表達式:

setting your connector

+0

感謝,但什麼是變量的值: @用戶:文件名]?需要保持它像.csv ?? – Neo

+1

變量@ [User :: filename]在「變量」窗口中創建。它將包含foreach當前迭代的當前文件路徑。我將添加一個鏈接到答案,顯示如何創建一個變量並儘快使用它。 – cfrag

2

其中MSSQL和SSIS的版本是你使用?爲什麼你在一個地方使用C:\ Mydata,而在另一個地方使用C:\ DEMO?

描述文件循環的基本技術描述爲here

在文檔和網絡中有大量有關這些步驟的信息。如果您需要更多的幫助,請儘可能具體說明你已經嘗試了什麼,什麼是不工作的,你與等

相關問題