如何使用单个foreachloop ssis包将多个与源文件夹相关的文件加载到目标表中

时间:2018-09-25 15:22:41

标签: ssis ssis-2012

嗨,我对小sis有疑问,

如何使用单个foreachloop ssis软件包将多个与源文件夹相关的文件加载到目标表中。

源文件位于两个不同的文件夹中,并且两个文件夹中所有与文件相关的结构均相同。 源文件具有路径: 源路径中的c:\ chenlocation \具有类似emp.txt,emp1.txt,emp2.​​txt的文件 源路径中的c:\ punelocation \具有类似emp_pune.txt,emp_pune1.txt,emp_pune2.txt,emp_pune4.txt之类的文件。

在两个源路径(chenandpunelocation路径)中,所有文件结构相同,看起来像列 ID,名称,SAL。 目标表(sql server)是:emp和columns分别是id,name,sal

在sis软件包中,我已经实现了如下所示: 声明变量:

chenlocationpath:c:\ chenlocation \ 文件名:emp.txt punelocationpath:c:\ punelocation \

拖放foreachloop修饰符,然后输入> foreachfileenumerator> directory> checnloationpath变量> filetype> *。txt

  

变量映射>文件名变量。   配置完目标sql服务器表后,执行dft任务和confiugre flatfile源的拖放操作并更改该数据类型。

此后,再次拖放第二个foreachloop容器,然后键入> foreachfileenumerator> directory> punelocationpath变量> filetype> *。txt

  

变量映射>文件名变量。   之后,在配置目标sql服务器表之后,拖放dft任务和confiugre flatfile源并更改该数据类型。   执行完后,所有记录都将毫无故障地加载到目标表中。

在这里,我使用了2个foreachloop任务来处理两个不同的源路径。 我想在目标表中使用两个不同的文件夹路径来实现单个foreachloop

能否请您告诉我如何使用ssis包中的单个foreachloop容器将源文件数据的两个不同路径加载到目标表中。

1 个答案:

答案 0 :(得分:0)

假设您有一个文件夹列表,只需创建一个foreach循环,该循环遍历该文件夹列表,然后将当前循环放入其中,将当前文件夹值作为其源目录。执行后,这将依次加载每个文件夹中的每个文件,就像您当前的过程一样。