2011-05-06 42 views
0

我想引入一個XML源並進行數據轉換並在表中更新它。此表中的數據將用於更新另一個表。如何在SSIS中實現這一點?SSIS兩個臨時表

我瞭解前兩個步驟。但在那之後失去了。 (在數據流任務)

  • 數據轉換

  • OLE DB目標

    1. XML源? (如果我使用OLE DB目標,那麼我不能再用它作爲源來更新另一個表)。我應該使用什麼組件來完成此任務?

    TIA

  • 回答

    0

    使用OLE DB目標註入您的XML源數據到臨時表中。然後,在您的控制流中,在數據流任務之後使用執行SQL任務來執行存儲過程或T-SQL腳本,以便將數據從登臺表移動到生產表並在需要時截斷登臺表。

    我發現SSIS非常適合ETL工作,但在數據庫或聚合工作中移動數據最好是在存儲過程中使用T-SQL。更容易編寫,控制,並且你知道你不會在DFT中發生任何RBAR shenanigans。

    因人而異

    2

    在一個數據流可以拆分記錄(如果你想一些記錄一條路可走,有的去另一種方式)或mulicast任務,如果你使用一個條件劈去到多個表希望所有記錄都去兩個目的地。我們使用多播來創建兩個臨時表,一個是來自文件的原始數據將保留,另一個將在進入我們的prod表之前清理和轉換數據。這使我們能夠輕鬆研究是否有一些問題數據是由於我們的轉換過程(錯誤)或發送的錯誤數據(客戶端存在問題,但如果它們無法解決可能需要更多步驟來處理)。

    您也可以擁有多個數據流,它們都具有相同的源。或者,您可以插入一個臨時表,然後再有第二個數據流或exec SQL任務將該數據移動到您想要的位置。