加载多个CSV,提取文件名追加为列和存档SSIS

时间:2016-05-13 14:30:59

标签: sql-server csv ssis

好的我正在使用SQL Server 2012.

我有一个包含CSV文件的'订单文件夹'。我需要遍历csv文件,将它们加载到SQL表中,然后将csv移动到“存档文件夹”中。我想在SSIS中执行此操作,并且知道使用Foreach循环容器可以实现这一点,我理解。

CSV文件包含以下标题:

客户/项目/数量/日期

我的SQL表格标题如下:

客户/项目/数量/日期/用户

棘手的一点是csv文件包含每个订单的用户名,并且命名如下:(USERNAME明显更改)

FWD_Order_USERNAME_01_02_2016_1006_214.csv

我需要提取USERNAME并在导入时将每个csv文件附加到SQL表中 - 我该怎么做?

谢谢,

迈克尔

2 个答案:

答案 0 :(得分:0)

您可以使用文件名中的用户名填充包变量,并使用派生列转换将其添加为数据流中的新列。

答案 1 :(得分:0)

您正在使用每个循环来处理文件。  您必须将文件名存储在变量中。

1)再创建一个变量用户名称并使用表达式集值属性表达式(获取用户名),设置属性EvaluateAsExpression = true;变量。

2)在数据流中,使用用户变量添加派生列将此映射到目标中的用户列。