ssis - SSIS文件任务系统将多个输入文件从不同的源路径复制到不同的目标路径
问题描述
我必须将文件从源复制到目标,这里棘手的部分是,我有许多源文件位于不同的共享路径中,我需要将这些输入文件复制到特定的目标文件夹。
例如:Spath1/a.txt --> Dpath1/, spath2/b.txt --> Dpath2/, spath3/c.txt --> Dpath3/, 等等。
我可以使用表格来映射输入文件/源路径和目标文件夹并使用 foreach 循环来获得解决方案吗?
请张贴您的建议。
解决方案
欢迎来到苏哈伦
是的,在这种情况下您可以使用表格。首先将一个对象类型变量添加到包中,我们称之为@folders 和第二个字符串类型变量,我们称之为@currentSrc,最后第三个字符串变量我们称之为@currentDst。然后添加执行 SQL 任务以获取文件夹列表。将结果集设置为“完整结果集”并在“结果集”选项卡中添加对 @folders-variable 的引用。
添加一个 For Each 循环,将 Enumerator 设置为“Foreach ADO Enumerator”,将@folders 设置为 ADO 对象源变量,并将“Rows in the first table”设置为枚举模式。在“变量映射”选项卡中添加对@currenSrc 和@currenDst-variables 的引用。
现在,您可以使用文件系统任务根据数据库中表上的数据将文件从源复制到目标(确保在文件系统任务中引用@currentSrc 和@currentDst 变量)。