从sftp使用ssis将多个文件下载到多个文件夹
问题描述:
我试图使用SSIS中的FTP任务和脚本任务将位于多个文件夹中的多个文件从FTP站点下载到特定驱动器上的多个文件夹中。我没有将这些文件下载到一个特定的文件夹中。我到处寻找,找不到任何好的信息。任何帮助深表感谢。谢谢。从sftp使用ssis将多个文件下载到多个文件夹
答
如果你不使用脚本任务,出于某种原因需要,那么这里就是你想要做什么:
- 创建的foreach循环容器
- 下
Collection
选项卡,Folder
场,浏览到包含所有要从源FTP下拉文件的所有子文件夹的文件夹。 (这是使这样的文件夹存在,它希望它也可以创建一个假设) - 检查
Traverse Subfolders
框,选择Fully Qualified
- 下
Variable Mappings
选项卡,创建一个变量@FileNameWithPath
或任何你想叫它。指数默认是好的。 - 创建名为
FileName
- 设置的
FileName
此表达的包变量,这将删除路径:
RIGHT(@[User::FileNameWithPath], FINDSTRING(REVERSE(@[User::FileNameWithPath]), "\\", 1)-1)
- 创建一个包变量称为
FilePrefix
- 做出一个表达式将前缀从
FileName
中拉出。这将是这一点,如果你是第一个下划线之前抓住一切: - 创建名为
DestinationFolder
另一个变量。 - 使用刚刚创建的
FilePrefix
变量来构建DestinationFolder
的表达式。这将是这样的: - 在您的foreach循环容器中,添加一个
File System Task
- 将
File System Task
到移动或复制任何你需要的,与Source Variable
的FileNameWithPath
,目标变量为DestinationFolder
LEFT(@[User::FileName],FINDSTRING(((DT_WSTR, 150) @[User::FileName]), "_", 1)-1)
"\\Your destination FTP\" + @[User::FilePrefix]
您到目前为止尝试过什么? –
文件和文件夹之间的链接是什么?他们是否共享一些命名部分?或者目标文件夹与每个文件的源文件夹名称相同?需要更多的信息。 –
[下载SSIS中多个FTP文件夹中的文件]的可能的副本(https://stackoverflow.com/questions/20110156/download-files-from-multiple-ftp-folders-in-ssis) –