3.9 使用File System和FTP任务
在此你将再次暂停来尝试体验刚才了解的任务,在本例中,你将尝试通过FTP接收一个文件,然后将文件复制到一个存档文件夹。创建一个称为C://SSISDemos/Archive的新目录(如果该目录不存在的话)。然后,在Chapter3 SSIS项目中创建一个新程序包。将程序包的名称修改为FileCopy.dtsx。
将FTP任务从Toolbox拖放到设计窗格。双击FTP任务来打开编辑器,如图3-11所示。将任务命名为“FTP a File”并输入说明信息。对于FTPConnection下拉框,选择<New connection…>。这将打开FTP Connection Editor。对于Server Name选项,输入ftp.microsoft.com,并单击Test Connection。单击OK回到FTP Connection Editor。
接下来,回到File Transfer页面并输入/bussys/ readme.text作为远程路径。你也可以单击省略号按钮来指向文件。对于Local Path选项,选择<New connection…>来打开File Connection Manager Editor。针对Usage Type选择Existing Folder并针对Folder输入C:/SSISDemos。
Operation下拉框应当设置为Receive Files。对于OerwriteFileAtDest选项,选择True。单击OK退出编辑器(如图3-12所示)。
图 3-11 图 3-12
既然文件被下载了,接下来是要对它进行存档。在实际应用中,你可能会下载文件并将它加载到某个SQL Server中,然后对它进行存档,不过你将在第5章的介绍内容中了解这个更完整的例子。要将文件复制到一个存档目录,将需要使用File System任务,将该任务拖放到设计窗格并双击它打开编辑器。
在General页面中针对DestinationConnection选项,选择<New connection…>。一旦File Connection Manager Editor打开,选择Existing Folder作为Usage Type,并输入C:/SSISDemos/ Archive作为文件夹名称。单击OK回到General页面,将OverwriteDestination选项设置 为True。
对于Name选项,输入Archive File并输入你所喜欢的描述。Operation选项应当设置为Copy File。对于IsSourcePathVariable选项选择True,并针对SourceVariable下拉框选择<New variable…>。这将打开Add Variable对话框。变量名将是SourceFile,而且变量值将设置为C:/SSISDemos/Readme.txt,如图3-13所示。
单击OK回到General页面。SourceFile变量将被转移到SourceVariable下拉框中。到目的地 文件的路径将从该变量动态获取。你可能希望这 样做的原因是指向一个尚未存在的文件。现在配置任务完成了(如图3-14所示)。单击OK回到设计窗格。
图 3-13 图 3-14
回到Control Flow选项卡,使用一个优先约束来连接FTP任务和File System任务。通过这种方式,文件将首先通过FTP来获取然后被复制到存档文件夹。执行程序包,最后的结果应当类似于图3-15所 示。在程序包成功执行后单击Stop,并保存程序包。你现在应当能够在C:/SSISDemos/目录和C:/SSISDemos/Archive目录下看到一个Readme.txt文件。