SSIS FTP 任务发送多个文件

下面我将通过一个例子向您展示配置 SSIS FTP 任务以发送多个文件的步骤。要发送单个文件,请参考FTP 任务发送文件文章。

注意:SSIS FTP 任务使用 FTP 连接管理器来连接远程(FTP 服务器)文件和文件夹。

下面的屏幕截图将显示本地文件夹中的数据。我们的 SSIS FTP 任务是将文件系统文件夹中的多个文件(所有现有文件)发送到 FTP 服务器的根目录。

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

SSIS FTP 任务发送多个文件

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

SSIS FTP TASK SEND MULTIPLE FILES 2

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

SSIS FTP TASK SEND MULTIPLE FILES 3

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

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

提示:如果您只想发送文本文件,请使用:*.txt

SSIS FTP TASK SEND MULTIPLE FILES 5

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

SSIS FTP TASK SEND MULTIPLE FILES 6

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

SSIS FTP TASK SEND MULTIPLE FILES 7

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

SSIS FTP TASK SEND MULTIPLE FILES 8

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

SSIS FTP TASK SEND MULTIPLE FILES 9

双击它将打开“FTP 任务编辑器”进行配置。请根据您的要求更改任务名称并提供有效的描述。

在“连接”部分,我们有一个名为 FTPConnection 的属性。单击下拉箭头将显示已创建的 FTP 连接(如果有),或者请单击“<新建连接…>”选项创建一个。在此示例中,我们使用已创建的连接(FTP 连接管理器)。有关连接设置,请参阅FTP 连接管理器文章。

SSIS FTP TASK SEND MULTIPLE FILES 10

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

SSIS FTP Task Send Multiple Files 10

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

SSIS FTP Task Send Multiple Files 11

在前面的步骤中,我们使用 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 TASK SEND MULTIPLE FILES 13

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

SSIS FTP TASK SEND MULTIPLE FILES 14

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