SSIS从多个子文件夹中获取文件

时间:2016-01-11 11:57:48

标签: ssis ftp

如何从多个FTP子文件夹中检索文件?

我有下一个结构:

  1. mainFolder
    1. subFolder 1 - >文件1,文件2,文件...(超过100个子文件夹)
      1. 子文件夹2 - >文件1,文件2,文件...(超过100个文件夹)
        1. 子文件夹2 - >文件1,文件2,文件...(超过100个文件夹)
  2. 我找到了下一个答案

      

    一种方法是将每个源文件夹放在包中的变量中。这将允许您为每个变量设置一个循环容器,并将每个路径作为参数传递给您的ftp任务。会有一些开销,因为你将构建和销毁每个循环的ftp连接,但这会让你进入一个参数化的解决方案。

    但我不能"将每个源文件夹放在包中的变量中

    有人可以告诉我如何完成这项任务吗?

2 个答案:

答案 0 :(得分:0)

如果SSIS FTP任务无法递归下载文件夹(我不知道,但看起来像你要问的那样),只需使用执行进程任务启动外部可编写脚本的FTP客户端这可以做到这一点。

大多数FTP客户端都可以递归下载文件夹(Windows内置命令行FTP客户端除外)。

您可以使用例如WinSCP FTP client。有using WinSCP with SSIS的指南。

(我是WinSCP的作者)

答案 1 :(得分:0)

您可以查找的其中一个选项是使用脚本任务来执行此操作。脚本任务是SSIS中嵌入的巧妙事物之一,它可以通过充分利用.Net库来执行任何开箱即用的组件无法提供的功能。

这是一个链接,解释如何做到 - http://microsoft-ssis.blogspot.com.au/2011/08/foreach-ftp-file-enumerator.html