2016-09-18 61 views
-3

enter image description here我在SSIS中創建了一個包,它在包含超過50個文本文件的目錄上循環。該文本文件是逗號分隔(對不起,我不能顯示一個示例的細節作爲其數據保護)將文件名和創建日期與文本文件中保存的值一起添加到SQL Server表中

我已成功設法使用每個循環的SSIS將值輸入到SQL Server表。我需要輸入的是文本文件中存在的每一行的SQL Server表的文件名和創建日期。

只是想知道這將是可能的嗎?請讓我知道,如果您需要更多信息

+0

使用派生列? –

回答

2

假設你已經設置了一個For Each File循環容器,確保你有set up a variable to capture the filename。然後,您可以在Excel Source之後的Derived Column轉換中使用此變量將該列添加到數據流中變量的數據流。

如果您沒有在您的文件名中包含您可以在SSIS中解析出的創建日期,則需要查看creating your own script taskusing custom transformations

+0

謝謝戴夫,是的,我已經得到了每個循環容器通過每個文本文件作爲源,將派生列下一步之前的OLE DB目的地? – abs786123

+0

@ abs786123它需要在你的源之後和目的地之前的任何時候去。如果您有其他轉換對數據執行操作,則可能需要根據您的軟件包所做的操作將其放在它們之前或之後。 – iamdave

+0

我可能在這裏做錯了什麼,但我認爲它是可變位,我該如何獲取文件的名稱到變量中?我在派生表中使用變量,用於映射位上的每個?我在做這個錯誤 – abs786123

1

我寫了一篇關於What is the name of the file

了一塊平面文件源,您可以直接通過高級屬性通過設置FileNameColumnName財產拉的文件名。

可重用的方法是向數據流中添加一個派生列,並在您的Foreach(文件)枚舉器的變量映射選項卡中添加正在填充的變量名稱。我假定這是CurrentFileName,因此我的派生列會是什麼樣子

  • CurrentFileName
  • DT_STR 1252
  • @[User::CurrentFileName]
相關問題