如何使用ssis中的每个循环容器获取文件夹中的文件数

时间:2017-11-02 22:35:23

标签: loops foreach containers ssis-2012

我在一个文件夹中有多个文件,这些文件由for each循环容器逐个处理,之后数据存储在SQL Server表中。

我需要存储一个循环容器正在处理的文件序列。

假设有5个文件按顺序处理:

  

A,B,C,D,E

所以表应该有像 -

这样的数据
  

A,1的数据   B,2的数据   C,3的数据

等等

我可以不使用脚本任务吗?

1 个答案:

答案 0 :(得分:0)

请按照以下步骤操作:

  1. 创建一个Foreach循环容器。

    一个。右键单击并编辑容器。

    湾在“收集”选项卡上,指定文件夹和文件掩码。将Retroeve文件名设置为'完全限定'。

    ℃。在“变量映射”选项卡上,单击一个空的“变量”单元格并选择。在“添加变量”对话框中,指定变量名称,例如' 文件名&#39 ;;按确定。此变量将映射到索引0(即完全限定的文件名)。

  2. Foreach Loop Container

    1. 创建新的平面文件连接。

      一个。在“连接管理器”区域(在主设计器窗格下)中,右键单击并选择“新建平面文件连接”。

      湾在“平面文件连接管理器编辑器”对话框中,指定“连接管理器”名称,例如' 数据文件'。单击“浏览”并选择任何一个数据文件。根据需要配置文件格式(分隔符,列,文本限定符等)。按OK。

      ℃。选择新的数据文件连接管理器。在“属性”窗口(右侧,通常位于“解决方案资源管理器”下)中,找到“表达式”项。单击[...]以显示“属性表达式编辑器”对话框。

      d。在Property Expressions Editor对话框中,将Property cell设置为' ConnectionString'和表达式@ [User :: Filename](其中 Filename 是您之前创建的变量的名称。按OK。

    2. Flat File Connection Manager

      1. 将数据流任务添加到Foreach循环容器中。

      2. 右键单击并编辑数据流任务。在“数据流”视图中,根据需要添加平面文件源和OLE DB目标(或其他目标)。在每个源和目标上单击鼠标右键并编辑,然后根据需要进行配置。

      3. Flat File Source Editor