嗨,我对小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容器将源文件数据的两个不同路径加载到目标表中。
答案 0 :(得分:0)
假设您有一个文件夹列表,只需创建一个foreach
循环,该循环遍历该文件夹列表,然后将当前循环放入其中,将当前文件夹值作为其源目录。执行后,这将依次加载每个文件夹中的每个文件,就像您当前的过程一样。