資料流程元素
SQL Server 2005 Integration Services (SSIS) 提供三種不同類型的資料流程元件:來源、轉換與目的地。來源從關聯式資料庫、檔案和 Analysis Services 資料庫中的資料表和檢視等資料存放區擷取資料。轉換會修改、摘要並清除資料。目的地則將資料載入資料存放區或建立記憶體中資料集。
此外,Integration Services 提供將一個元件的輸出連接到另一個元件的輸入之路徑。路徑會定義元件的順序,還能讓您將附註加入資料流程或檢視資料行的來源。
下圖顯示了具有來源、一個輸入與一個輸出的轉換,以及目的地的資料流程。除輸入資料行、輸出資料行和外部資料行之外,該圖還包含了輸入、輸出和錯誤輸出。
來源
在 Integration Services 中,來源是一個資料流程元件,可讓資料流程中的其他元件使用不同外部資料來源的資料。
資料流程的來源通常具有一個規則輸出。規則輸出包含輸出資料行,這些是加入到資料流程的來源資料行。
規則輸出參考外部資料行。外部資料行即來源中的資料行。例如,AdventureWorks 資料庫之 Product 資料表中的 MadeFlag 資料行,便是可以加入到規則輸出的外部資料行。外部資料行的中繼資料包括名稱、資料類型及來源資料行的長度等資訊。
來源的錯誤輸出包含與規則輸出相同的資料行,還包含其他兩個提供錯誤相關資訊的資料行。Integration Services 物件模型對來源可具有的一般輸出數目和錯誤輸出數目沒有限制。除「指令碼」元件之外,Integration Services 包含的大部份來源都具有一個規則輸出,且許多來源都有一個錯誤輸出。自訂來源可以進行編碼,以實作多個一般輸出和錯誤輸出。
所有的輸出資料行都可以用作資料流程中下一個資料流程元件的輸入資料行。
如需詳細資訊,請參閱<Integration Services 來源>。
轉換
轉換具有廣泛的功能。它可以執行例如更新、摘要、清除、合併和散發資料等工作。
轉換的輸入和輸出定義傳入和傳出資料的資料行。視對資料執行的作業而定,某些轉換具有單一輸入和多個輸出,而其他轉換則具有多個輸入和單一輸出。轉換也可以包含錯誤輸出,提供錯誤發生的相關資訊以及失敗的資料:例如,無法轉換為整數資料類型的字串資料。 Integration Services 物件模型對轉換可以包含的輸入、一般輸出和錯誤輸出沒有數目限制。您可以建立實作多個輸入、一般輸出和錯誤輸出之任意組合的自訂轉換。
轉換的輸入定義為一或多個輸入資料行。某些 Integration Services 轉換也可以參考外部資料行作為輸入。例如,OLE DB 命令轉換的輸入包含外部資料行。輸出資料行是轉換加入到資料流程的資料行。一般輸出和錯誤輸出均包含輸出資料行。這些輸出資料行進而作為資料流程中下一個元件 (可以是另一個轉換,也可以是目的地) 的輸入資料行。
如需詳細資訊,請參閱<Integration Services 轉換>。
目的地
目的地是將資料流程中的資料寫入特定資料存放區,或者建立記憶體中資料集的資料流程元件。
Integration Services 目的地必須具有至少一個輸入。該輸入包含來自另一個資料流程元件的輸入資料行。這些輸入資料行會對應到目的地中的資料行。
許多目的地還具有一個錯誤輸出。目的地的錯誤輸出包含輸出資料行,這些資料行通常包含將資料寫入目的地資料存放區時所發生之錯誤的相關資訊。錯誤發生有許多原因。例如,資料行可以包含 Null 值,而目的地資料行卻無法設定為 Null。
Integration Services 物件模型對目的地可具有的規則輸入和錯誤輸出沒有數目限制,您可以建立實作多個輸入和錯誤輸出的自訂目的地。
如需詳細資訊,請參閱<Integration Services 目的地>。
外部中繼資料
當您使用「SSIS 設計師」在封裝中建立資料流程時,來自來源和目的地的中繼資料會複製到來源和目的地的外部資料行,作為結構描述的快照集。當 Integration Services 驗證封裝時,「SSIS 設計師」會根據變更,比較此對照集與來源結構描述,或比較此對照集與目的地的結構描述,並公佈錯誤和警告。
Integration Services 專案提供離線模式。當您以離線狀態工作時,不會對封裝使用的來源或目的地進行連接,外部資料行的中繼資料也不會更新。
輸入和輸出
來源具有輸出,目的地具有輸入,而轉換既有輸入又有輸出。此外,許多資料流程元件都可以設定為使用錯誤輸出。
輸入
目的地和轉換具有輸入。輸入包含一或多個輸入資料行,如果資料流程元件已設定為使用外部資料行,這些輸入資料行便可以參考外部資料行。輸入可以設定為監視和控制資料的流動:例如,您可以指定元件是否應在回應錯誤時失敗、忽略錯誤,或者將錯誤資料列重新導向至錯誤輸出。您也可以指派輸入的描述或更新輸入名稱。在「SSIS 設計師」中,可以使用 [進階編輯器] 對話方塊設定輸入。如需有關 [進階編輯器] 的詳細資訊,請參閱<Integration Services 使用者介面>。
輸出
來源和轉換始終具有輸出。輸出包含一或多個輸出資料行,如果資料流程元件設定為使用外部資料行,這些輸出資料行便可以參考外部資料行。輸出可以設定為對資料之下游處理提供有用的資訊。例如,您可以指示是否對輸出進行排序。您也可以提供輸出的描述,或更新輸出名稱。在「SSIS 設計師」中,可以使用 [進階編輯器] 對話方塊設定輸出。
錯誤輸出
來源、目的地和轉換都可以包含錯誤輸出。您可以使用 [設定錯誤輸出] 對話方塊,指定資料流程元件如何回應每個輸入或資料行中的錯誤。如果在執行階段發生錯誤或資料截斷,並且資料流程元件設定為重新導向至資料列,則包含錯誤的資料列會被傳送至錯誤輸出。依預設,錯誤輸出包含輸出資料行和兩個錯誤資料行:ErrorCode 和 ErrorColumn。輸出資料行包含來自失敗資料列的資料,ErrorCode 提供錯誤碼,ErrorColumn 識別失敗的資料行。
如需詳細資訊,請參閱<處理資料中的錯誤>。
資料行
輸入、輸出和錯誤輸出都是資料行的集合。每個資料行都可以設定,視資料行類型 (輸入、輸出或外部) 而定,Integration Services 會為資料行提供不同的屬性。Integration Services 為設定資料行屬性提供了三種不同的方式:程式設計方式、使用元件特定的對話方塊,以及使用 [進階編輯器] 對話方塊。
路徑
路徑連接資料流程元件。在「SSIS 設計師」中,您可以檢視和修改路徑屬性、檢視路徑起始點的輸出中繼資料,還可以將資料檢視器附加到某個路徑。
如需詳細資訊,請參閱<Integration Services 路徑>和<偵錯資料流程>。
資料流程元件的設定
資料流程元件可以在元件層級設定,也可以在輸入、輸出和錯誤輸出層級設定,還可以在資料行層級設定。
- 在元件層級,您可以設定所有元件的通用屬性以及元件的自訂屬性。
- 在輸入、輸出和錯誤輸出層級,您可以設定輸入、輸出和錯誤輸出的通用屬性。如果元件支援多個輸出,您可以加入輸出。
- 在資料行層級,除元件提供給資料行的任何自訂屬性之外,您還可以設定所有資料行的通用屬性。如果元件支援輸出資料行的加入,您可以將資料行加入到輸出。
您可以透過「SSIS 設計師」或以程式設計方式設定屬性。在「SSIS 設計師」中,您可以使用提供給每個元素類型的自訂對話方塊,或者使用 [屬性] 視窗或 [進階編輯器] 對話方塊,設定元素屬性。
下列主題提供有關如何使用「SSIS 設計師」設定屬性的詳細資訊: