2016-05-13 45 views
0

確定我使用的是SQL Server 2012的加載多個CSV中,提取文件名稱附加柱和歸檔SSIS

我有一個包含CSV文件「訂單文件夾」。我需要循環訪問csv文件,將它們加載到SQL表中,然後將csv移動到「存檔文件夾」中。我想在SSIS中執行此操作,並知道使用Foreach循環容器可以實現這一點,據我瞭解。

CSV文件具有以下標題:

客戶/項目/數量/日期

我的SQL表具有以下標題:

客戶/項目/數量/日期/用戶

棘手的一點是,csv文件包含每個訂單的用戶名,並命名如下:(USERNAME明顯改變)

FWD_Order_USERNAME_01_02_2016_1006_214.csv

我需要提取USERNAME並將其附加到每個csv文件的SQL表導入時 - 我該怎麼做?

感謝,

邁克爾

+0

「將它附加到SQL表」是什麼意思?將它添加爲列?一排?還有別的嗎? –

+0

對不起 - 從csv文件名中提取用戶名並將其插入SQL表中的用戶字段 – Michael

+0

您如何知道用戶名?它是由'_'分隔的第三個實體嗎? – billinkc

回答

0

您可以填充從文件名的用戶名包變量,並使用派生列轉換將其添加爲您的數據流的新列。

0

您正在使用每個循環來處理文件。 您必須將文件名存儲在變量中。

1)創建一個變量用戶名稱和使用表達式設置值屬性表達式(獲取用戶名),設置屬性EvaluateAsExpression = true;爲變量。

2)在數據流中,使用用戶變量添加派生列將其映射到目標中的用戶列。