使用SSIS将文件从FTP传输到服务器

时间:2013-04-10 14:45:13

标签: ssis

这可能是一个过于简单的问题,但现在可以了。

我有一个客户端会将xls文件放入我们FTP站点的文件夹中。我需要检查文件是否存在,我需要将其从FTP文件夹移动到服务器上的文件夹。处理完成后,我需要将另一个(但不同的)xls文件发送回同一FTP服务器上的文件夹。

我可以看到有一个FTP任务,我可以连接到FTP站点,但我不确定如何指定发送文件的位置以及如何一次只选择一个文件。

我想如果我只专注于第一部分,我可以继续将文件作为第二步。

因此,最终结果是检查FTP站点上的文件夹,如果存在文件,则将其移至服务器。

1 个答案:

答案 0 :(得分:4)

如果您以交互方式连接到FTP站点,SSIS FTP任务将包含您将使用的基本FTP语法。这是一个review of basic FTP syntax

所以这是你在编辑FTP任务时应该寻找的东西。 1)任务需要登录到FTP服务器,2)它需要知道它正在执行GET操作,3)它需要知道它应该从FTP服务器检索的文件的路径和文件名,以及4)它需要知道在本地服务器上放置文件的位置。

因此,在FTP任务编辑器中,您需要转到“常规”选项卡并创建FTP连接。然后转到文件传输选项卡,然后设置“操作” - > “接收文件”,并填写本地路径和远程路径的值。 (或者您可以将这些路径保留在SSIS变量中,让任务从那里获取。)

默认情况下,IsTransferAscii设置为False。这意味着它将假设它正在传输二进制文件。或者,如果您告诉它将其视为Ascii文件,它将尝试修复行结尾以考虑各种操作系统使用的回车符和换行符的不同组合。如果你想逐字传输文件,你不希望这样,但如果你在Windows和Linux之间来回转换,你可能会想要它。

您还应该学习一些交互式FTP语法。我经常使用它来弄清楚为什么SSIS在传输文件时遇到问题。转到命令提示符并键入“ftp”。然后你可以输入“?”查看命令列表。或者只需输入“ftp yourservername”,登录,然后使用cd和ls遍历目录结构,看看有什么。