我想基於一個公用密鑰更新另一個表中的數據表中的字段。如果它是在直接的SQL,這將是這樣的:使用SSIS更新表
Update EHSIT
set e.IDMSObjID = s.IDMSObjID
from EHSIT e, EHSIDMS s
where e.SITENUM = s.SITE_CODE
但是,兩個表不在同一個數據庫,所以我嘗試使用SSIS做了更新。哦,sitenum/site_code是varchar,另一個是nvarchar,所以我必須進行數據轉換才能匹配。
我該怎麼做?
我有一個數據流對象,其源代碼爲EHSIDMS,目標爲EHSIT。我有一個數據轉換來將unicode轉換爲非unicode。但是,我如何根據比賽進行更新?我已經嘗試了使用SQL Command作爲數據訪問模式的目標,但它似乎沒有源表。如果我只是映射要更新的字段,它如何基於字段匹配來限制它?
我即將把我的源表導出到Excel或其他東西,然後嘗試從那裏輸入,雖然看起來所有這些都會讓我去除數據轉換步驟。
不應該有更新數據任務或什麼?它是那些數據流轉換任務之一,我只是不知道它是哪一個?
好吧,那有效。我在目標數據庫中創建了一個臨時表,將數據複製到它,然後使用update語句來填充我的一個字段。刪除臨時表,我完成了。謝謝。 – thursdaysgeek 2009-05-18 21:52:28
請始終嘗試使用臨時表,嘗試在數據塊中進行思考。如果您有100萬條需要更新的記錄,則使用更新語句更新每條記錄的速度非常緩慢。因此,您應該使用1個單個表和語句來更新。 – JSC 2009-05-29 07:38:53