SSIS中的容器和資料流 資料目的

2021-09-06 02:56:24 字數 2916 閱讀 8535

在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的擴充套件節點,在報表設計中將會看到一種新的連線型別ssis,選擇這種資料來源,在連線請求框內輸入以下類似的完全限定檔名稱:

-f c:\packages\rsspartnerfeed.dtsx

這個是用來指定讀取資料接收器為報表資料的**。每次請求報表就會自動執行package來從資料流中獲得資料。可想而知只有從package中請求得到資料,報表中才會展現資料。在部署報表之前要先除錯好package,因此程式的執行速度可能會因此而減慢。

在實際應用中使用ssis作為報表的資料來源對於展現非sql資料會非常的有用,例如想要展示一些扁平資料rss feed,在後面部分中將會詳細說明。

dimension處理和partition處理

圖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可以將資料匯入到乙個小型機或其他移動裝置上。

SSIS中的容器和資料流 簡單介紹

容器 容器是ssis為乙個或多個任務提供一種結構的物件。例如可以執行乙個迴圈直到到達邊界條件,或者將一系列的task按邏輯組織在一起。乙個容器也可以包含其他的容器。容器和任務 task 一樣也放在control flow標籤內,總共有四種型別的容器 任務宿主task host,sequence序列,...

SSIS 資料流優化

一,資料流設計優化 資料流有兩個特性 流和在記憶體緩衝區中處理資料,根據資料流的這兩個特性,對資料流進行優化。1,流,同時對資料進行提取,轉換和載入操作 流,就是在source提取資料時,轉換元件處理資料,同時destination載入資料,資料在不同元件之間,同時被處理。所有的rdbms操作都是同...

SSIS之資料流任務

資料流任務主要用於執行資料流以提取 轉換 載入源資料。乙個包中可以有多個資料流任務,也可以包含零個資料流任務。下面關係圖顯示含有乙個資料流任務的包 了解資料流任務後,我們就簡要的學習一下如何建立資料流任務。在工具箱中雙擊資料流任務控制項或則將其拖放到控制流頁面中。如圖 你可以根據需求來修改資料流任務...