2012-04-24 48 views
0

我想將一個excel文件導入SQL服務器中的表格。該表有3或4列組合在一起構成主鍵。我希望能夠隨時運行導入,並且如果與主鍵存在衝突,只需簡單地不導入該行,但繼續導入所有其他行。導入Excel表格到SQL Server,跳過主鍵違規

我創建了一個* .dtsx文件,它可以正常導入,但在找到重複鍵時就會死亡。有沒有辦法告訴* .dtsx文件繼續,如果它發現重複,而不只是死?我嘗試打開* .dtsx文件,但沒有太多選項,當我右鍵單擊* .dtsx文件並選擇編輯時,Visual Studio打開並顯示編輯* .dtsx文件的某種方式,但我根本不熟悉它。任何指導非常感謝!

回答

1

在OleDBDestination組件上有一個「檢查約束」複選框,它被用來忽略像PK這樣的約束,但我不認爲它會解決你的問題。

要做的理想事情是在源和目標組件之間添加一個查找組件,以檢查該行是否已經存在於數據庫中,並且只在該組件不存在時才插入。

我知道你說你不知道SSIS,但這是你可能必須採取的方法。創建\編輯一個像這樣的簡單包是很困難的。 Here就是論壇上的一個例子

+0

謝謝@Diego,你說的對,SSIS - > Lookup Component結果恰到好處。他們有一個強大的功能,提供2個輸出:匹配的記錄和無與倫比的記錄。我所要做的只是稍微配置一下,然後將不匹配的記錄傳送到我的目的地。安靜簡單,感謝您的幫助! – russds 2012-04-27 20:55:18

+0

很高興help.please投票,如果你喜歡的答案:) – Diego 2012-04-28 12:12:03