下面我将通过一个例子向您展示配置 SSIS FTP 任务以发送多个文件的步骤。要发送单个文件,请参考FTP 任务发送文件文章。
注意:SSIS FTP 任务使用 FTP 连接管理器来连接远程(FTP 服务器)文件和文件夹。
下面的屏幕截图将显示本地文件夹中的数据。我们的 SSIS FTP 任务是将文件系统文件夹中的多个文件(所有现有文件)发送到 FTP 服务器的根目录。

下面的屏幕截图显示了 FTP 服务器中的数据。

SSIS FTP 任务发送多个文件
要将多个文件从本地计算机发送到 FTP 服务器,请首先将Foreach 循环容器拖放到“控制流”区域。

双击它将打开 Foreach 循环编辑器进行配置。从下面的屏幕截图可以看出,我们选择 Foreach 文件枚举器是因为我们希望循环遍历文件系统中存在的文件。

接下来,单击“浏览”按钮从我们的文件系统中选择文件夹名称。从下面的屏幕截图可以看到,我们在 E 驱动器中选择了“文件系统任务 - 复制文件”文件夹。单击“确定”按钮进行选择。

在“文件”部分,我们必须使用通配符指定文件类型。在此示例中,我们希望将本地文件系统中的所有文件(无论扩展名如何)发送到 FTP 服务器,因此我们使用通配符 *.*。
提示:如果您只想发送文本文件,请使用:*.txt

接下来,我们必须将文件名存储在变量中,以便在我们的FTP 任务中使用它们。为此,请转到“变量映射”部分,选择用户变量(如果有),或创建一个新变量。

单击“<新建变量…>”后,将打开“添加变量”窗口来创建新变量。在此示例中,我们需要变量来存储文件名及其扩展名,例如 cache.xml。因此,我们创建一个字符串变量并为其赋值为 Var_FileNames。单击“确定”以完成字符串变量的创建。

现在选择创建的变量并将其分配给索引 0。完成后,单击“确定”以完成 Foreach 循环容器的配置。

接下来,将 FTP 任务拖放到 Foreach 循环容器中,并将其重命名为 SSIS FTP 任务发送多个文件。

双击它将打开“FTP 任务编辑器”进行配置。请根据您的要求更改任务名称并提供有效的描述。
在“连接”部分,我们有一个名为 FTPConnection 的属性。单击下拉箭头将显示已创建的 FTP 连接(如果有),或者请单击“<新建连接…>”选项创建一个。在此示例中,我们使用已创建的连接(FTP 连接管理器)。有关连接设置,请参阅FTP 连接管理器文章。

请单击“文件传输”选项卡来配置 FTP 操作。下图显示了此选项卡中可用的属性。

SSIS 中的 FTP 任务支持八种不同的文件和文件夹操作。在此示例中,我们想将多个文件发送到 FTP 服务器。因此,我们从“操作”属性中选择“发送文件”选项。

在前面的步骤中,我们使用 Foreach 循环容器循环遍历文件,并将带扩展名的文件名存储在名为 Var_FileNames 的变量中。因此,我们将 IsLocalPathVariable 设置为 True,并将 User:Var_FileNames 变量选为 LocalVariable。

目前,我们是手动声明远程路径,但在实际操作中,我们建议使用变量。请点击此选项旁边的浏览 (…) 按钮打开远程目录。

目前,我们的 FTP 服务器中没有任何子文件夹。因此,我们选择根目录 / 作为位置,并将 OverwriteDetination 属性设置为 true。SSIS FTP 任务将覆盖 FTP 服务器中存在的任何现有文件(cache.xml 和 Remove Double Quotes in Excel Sheet using 1.jpg)。

单击“确定”以完成 SSIS FTP 任务发送多个文件包的配置。让我们运行它,看看是否成功将 .xml、.txt、.JPG 和 .xls 文件从本地文件系统复制到 FTP 服务器。

我们已成功将文件系统文件夹中的文件发送到 FTP 服务器的根目录。
