SSIS文件任务系统将多个输入文件从不同的源路径复制到不同的目标路径上

问题描述 投票:0回答:1

我需要将文件从源文件复制到目标文件,棘手的是,我有很多源文件位于不同的共享路径,我需要将这些输入文件复制到特定的目标文件夹。

例如:Spath1a.txt --> Dpath1, spath2b.txt --> Dpath2, spath3c.txt --> Dpath3, 等等。

我是否可以用一个表来映射输入文件源路径和目标文件夹,然后用foreach循环来实现解决方案?

恳请发表您的建议。

ssis file-copying foreach-loop-container
1个回答
0
投票

欢迎来到SO Harun

是的,在这种情况下你可以使用一个表。首先在包中添加一个对象型变量,我们称它为@folders,第二个字符串型变量,我们称它为@currentSrc,最后第三个字符串变量我们称它为@currentDst。然后添加Execute SQL任务来获取文件夹列表。将结果集设置为 "完整结果集",并在结果集选项卡中添加对@folders-变量的引用。

添加For Each循环,设置Enumerator为 "Foreach ADO Enumerator",@folders为ADO对象源变量,Enumeration模式为 "第一个表中的行"。在 "变量映射 "选项卡中添加对@currenSrc和@currenDst-变量的引用。

现在,您可以使用 "文件系统任务 "根据您在数据库中的表中的数据将文件从源地复制到目的地(确保在 "文件系统任务 "中引用@currentSrc和@currentDst变量)。

© www.soinside.com 2019 - 2024. All rights reserved.