SSIS中的容器和數據流—數據目的
在Data Flow中Destination從數據源或者數據處理流程中接收數據。在SSIS中數據可以導入到任何OLE DB支持的數據源,平面文件或者Analysis Service中的數據。和數據源一樣Destinations也通過連接管理器來連接,不同之處是有一個數據映射界面如圖4-11。

圖4-11
只有在連接到數據流之后才可以配置Destinations,使用綠色箭頭將數據源或者數據流和Destinations連接起來。如果在連接之前就配置Destinations會得到如圖4-12的警告提示。

圖4-12
數據挖掘模型接收器Data Mining Model Training
數據挖掘模型可以接收分析Analysis Service中的數據倉庫中的數據,它可以分析多個數據挖掘模型。執行這種操作需要連接Analysis Service。注意:傳遞給數據挖掘模型的數據必須預先分類,為達到這種目的需要使用排序傳輸。
數據讀取接收器DataReader Destination
數據讀取接收器是將SSIS數據流擴展到SSIS外部,并提供數據接口供外部使用例如供報表服務使用。編輯數據讀取接收器時要給它取一個合適的名字,使得在以后的后續的開發過程中更加容易的使用。在圖4-13中可以看到這個接收器的名字是RowSampling Output,設置好名字等其他屬性之后再InputColumn標簽頁面內檢查你要輸出到接收器的數據列。

圖4-13
如果要在報表服務中使用這個接收器,需要保證有可用的SSIS連接。在報表服務中確保在RSReportDesigner.config文件中有一個包含SSIS的擴展節點<DATA>,在報表設計中將會看到一種新的連接類型SSIS,選擇這種數據源,在連接請求框內輸入以下類似的完全限定文件名稱:
-f C:\Packages\RSSPartnerFeed.dtsx
這個是用來指定讀取數據接收器為報表數據的來源。每次請求報表就會自動執行package來從數據流中獲得數據。可想而知只有從package中請求得到數據,報表中才會展現數據。在部署報表之前要先調試好package,因此程序的運行速度可能會因此而減慢。
在實際應用中使用SSIS作為報表的數據源對于展現非SQL數據會非常的有用,例如想要展示一些扁平數據RSS feed,在后面部分中將會詳細說明。
Dimension處理和Partition處理
Dimension處理主要處理Analysis Service中的一些Dimension,可以選擇展現全部Full,添加Add(incremental)和更新Update。在Connection Manager欄中配置連接,然后會看到實際表中的Dimensions如圖4-14,選擇要進行process的Dimension,點擊Mapping標簽轉到頁面,將數據列從數據流中映射到Dimensions中。最后在Advanced界面中選擇怎么處理錯誤,一般情況下這個頁面保持默認值,除非有一些特殊處理。

圖4-14
Partition處理有類似的選項,不同的是它是處理Analysis Service中的partition。
Excel Destination
Excel Destination和Excel數據源非常的類似,不同的是它接收數據而不是抽取數據,它的編輯頁面和Excel數據源的編輯界面是相似的。
平面文件Destination
平面文件Destination用來將數據送入到一個平面文件中,和其他連接一樣,這里需要新建一個文件鏈接。在Header選項中可以輸入數據列的名字,這樣在文件中就會添加一個列名行,最后在Overwrite data in the file選項可以設置是否每次執行都將數據重新寫入文件。
OLE DB Destination
在SSIS中最常用的一種就是OLE DB Destination了,如圖4-15。它可以將數據寫入OLE DB兼容的數據對象中例如Oracle,Access,SQL Server。和數據源一樣,這里也需要配置OLE DB數據連接。在Data Access Model中選擇Table or View — Fast Load,在下面就會有一些單選框例如Table Lock,這種設置只是在SQL Server數據庫中才會有。在Rows Per Batch option選擇項中設置一次允許多少行數據執行,Maximum Insert Commit Size屬性設置使用Fast Load Option時一次允許多少量(kb)的數據執行,Keep identity選項在執行時保留數據完整性。

圖4-15
原始數據Destination
原數據Destination是一種不需要設置連接的速度非常快的數據對象。在編輯界面內,需要指定一個原數據文件,原數據一般是一種中轉數據,寫入文件之后其他的package就可以使用這種數據文件作為數據源。數據的格式簡單,轉換的速度非常快,在有特殊的速度要求時才會使用這種數據源。
記錄集Destination
記錄集Destination可以將數據轉移到一個ADO數據集,例如將數據集讀取到一個dataset之后,然后再使用Script task從一個變量中讀取到這些數據。這種Destination不支持錯誤處理,這是它的一個缺點。
SQL Server 和移動Destination
SQL Server Destination是SQL數據庫中最佳的應用,它使用bulk insert是的寫入速度非常地快。它從數據流中獲得數據然后使用bulk insert快速地將數據寫入到數據庫。在編輯界面可向像Bulk insert task那樣編輯,例如設置executing triggers屬性,lock table屬性,注意這種Destination使用內存中的接口,所以它只能接受同一個服務器中的數據,也就是本機數據。最后移動Destination可以將數據導入到一個小型機或其他移動設備上。
作者:Tyler Ning
出處:http://www.rzrgm.cn/tylerdonet/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,如有問題,請微信聯系冬天里的一把火
浙公網安備 33010602011771號