我與我的老闆在一起,我們遇到了SSIS項目的問題。 是DataModel的很爛,沒有一個自動的主鍵,所以我們必須從客戶使用SSIS生成主鍵時出現問題
的問題做了經典的和討厭
選擇MAX(ID)+ 1是的那一刻起,我的腳本任務生成PK的時刻,我插入那裏有10行已成爲我的腳本任務,所以我得到10次相同的ID和應用程序崩潰大時間!
怎麼可能在SSIS?
我與我的老闆在一起,我們遇到了SSIS項目的問題。 是DataModel的很爛,沒有一個自動的主鍵,所以我們必須從客戶使用SSIS生成主鍵時出現問題
的問題做了經典的和討厭
選擇MAX(ID)+ 1是的那一刻起,我的腳本任務生成PK的時刻,我插入那裏有10行已成爲我的腳本任務,所以我得到10次相同的ID和應用程序崩潰大時間!
怎麼可能在SSIS?
我得到了一個簡單的答案我正確的把我的記錄,我想插入一個DataSet沒有任何PK ID和外部我的數據流我做了一個foreach循環,得到foreach記錄一個新的PK ID並插入一個接一個。
完成!
創建一個TempWork表,具有與最終目標表相同的精確結構,除了使PK成爲IDENTITY(n,1),其中「n」是基於最終目標表的PK的下一個值。使用SSIS插入到此TempWork表中,並且將爲您生成ID。當它全部完成,這樣做:
INSERT INTO FinalTable (PK,col1, col2,...) SELECT PK, col1, col2... from TempWork
然後DROP TABLE TempWork