SSIS常用的包—FTP任務
FTP任務允許你通過FTP來接收和傳送文件。在SQL Server 2000中只能通過它來接收文件。在SSIS中對它進行了大量的改進。可以接收,刪除本地或者遠程服務器上的文件。也可以在本地或遠程服務器上創建文件。
在FTP任務編輯頁面上可以通過FTP Connection Manager設置FTP站點鏈接信息。如果沒有設置連接,可以選擇New Connection來新建一個連接。FTP Connection Manager的界面和OLE DB Connection Managers有一些不同,如圖3-9。Server Name選項設置FTP地址,大多數FTP服務的端口都是21。另外一個重要的設置是使用被動模式Use Passive Mode,如果你要連接的服務器是被動交互,必須設置這個選項。在SQL Server 2000中沒有這個選項。

圖3-9
設置好連接之后,在File Transfer標簽頁面有幾個需要注意的地方,如圖3-10。這里的選擇項和文件系統任務有些類似。IsRemotePathVariable屬性和IsLocalPathVariable允許通過變量來設置,RemotePath屬性設置需要進行操作的遠程操作的遠程文件的路徑 ,LocalPath屬性選項是設置一個需要通過FTP接收和傳送文件的Connection Manager。OverwriteFileAtDestination屬性設置在目的端地址如果有文件或文件夾沖突是否要覆蓋。像其他FTP客戶端一樣,可以通過IsTransferAscii選項設置是否使用ASCII格式來讀寫文件。最重要的屬性是Operation來設置要進行什么類型的操作。

圖3-10
使用文件系統任務和FTP任務
下面講解一個具體的例子。這個例子將會從一個ftp中的文件拷貝到本地文件夾中。如果不存在創建一個文件夾C:\SSISDemos\Archive。在SSIS項目中創建一個package取名FileCopy.dtsx。從工具欄中拖一個FTP任務到設計面板中。雙擊這個FTP任務打開邊界界面,如圖3-11。命名為FTP a File,并填寫描述。在FTPConnection欄中選擇<New connection…>,打開FTP連接編輯界面。在Server Name中輸入ftp.microsoft.com,點擊Test Connection按鈕,點擊OK回到編輯界面。

圖3-11
打開File Transfer界面,輸入/bussys/readme.txt。也可以點擊省略號直接選擇文件。如果是本地地址選項,選擇<New connection…>打開文件鏈接管理器。選擇已經存在的文件夾路徑并且輸入C:\SSISDemos
在Opertion欄下的Operation選擇項里面選擇Receive Files。OverwriteFileAtDest選擇項里選擇true,點擊OK退出編輯頁面如圖3-12。

圖3-12
點擊允許可以進行下載得到文件。在真實的生產環境會下載文件,下載到SQL Server,然后歸檔,在第五章中可以看到一個完整的例子。使用文件任務將文件拷貝到一個目的目錄下。在工具箱中拖放一個文件系統任務在Control Flow面板中。
雙擊打開編輯界面,在DestinationConnection下拉選擇項中選擇<New connection…>,打開文件鏈接系統編輯界面,在usage type選擇項中輸入已存在的文件夾路徑C:\SSISDemos\ Archive。點擊OK回到編輯界面。設置OverwriteDestination選項為true。
在Option選擇項中選擇Archive File,在description選擇項中輸入你想要的描述。Operation選擇項設置為Copy File。IsSourcePathVariable選擇項設置為true,在SourceVariable下拉選擇項中選擇<New variable…>,這樣打開添加變量對話框。在value欄內輸入C:\SSISDemos\Readme.txt,如圖3-13

圖3-13
點擊OK回到編輯界面。變量的值將會協回到SourceVariable的列表框內。現在配置完成如圖3-14.點擊OK回到編輯界面內。
在Control Flow面板內,使用順序約束將FTP文件任務和文件系統任務連接起來。執行package,最終的結果如圖3-14,執行成功之后點擊stop,在C:\SSISDemos\路徑下的文件Readme.txt將會拷貝到C:\SSISDemos\Archive路徑下。

圖3-14
作者:Tyler Ning
出處:http://www.rzrgm.cn/tylerdonet/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,如有問題,請微信聯系冬天里的一把火
浙公網安備 33010602011771號