簡體   English   中英

如何在ssis中插入數據時實現校驗和功能?

[英]How to implement Checksum function while data inserting into table in ssis?

在數據插入表后我的包中。 我使用SQL TASK通過更新查詢填充了Checksum值花了更多的時間。 如何解決這個與第三方組件。

請幫助我。

以下查詢填充checksumID。 在此表中,基於Import_Id的更多1000萬條記錄。

更新通信SET ChecksumId = CHECKSUM(address1,address2,state,zip,city,....)import_id =?

此過程最多只需要1或2個小時的時間。

使用T-SQL CHECKSUM函數: http//msdn.microsoft.com/en-us/library/ms189788.aspx

你可以在整行上使用它,就像:

select FirstName, LastName, CheckSum(*) As CheckSum
  from SomeUserTable

一種可能性是編寫自己的校驗和函數,並使用加載數據的數據流中的腳本轉換將其應用於傳入數據的每一行。 從執行時間的角度來看,這可能是最快的; 但是,如果值必須與T-SQL CHECKSUM匹配,那么您將需要進行大量的逆向工程。

或者,不是直接加載目標表,而是創建一個與目標表具有相同布局的工作表,以及定義為所需列的CHECKSUM的計算列:

CREATE TABLE WRK_Communication
(
    address1 VARCHAR(50),
    address2 VARCHAR(50),
    -- other columns
    ChecksumId CHECKSUM(address1,address2,state,zip,city,....)    
) 

在SSIS包中,首先使用執行SQL任務截斷此工作表,然后使用數據流加載它,然后使用另一個執行SQL任務將工作表的內容插入到目標表中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM