我有一箇舊的數據庫(OldDB
)與表(我們稱之爲Call
),我使用SSIS(2008年)和一個新的數據庫(NewDB
)具有以下設置:使用外鍵數據導入SSIS?
OldDB.Call
有一欄所謂Status
目前爲varchar(1)持有的值,如「C」,「d」等NewDB
現在在自己的表中的所有可能的狀態映射與外鍵約束,使OldDB.Call.Status
現在NewDB.CallStatus.id
的NewDB.Call.StatusID
中的數據示例爲1
,2
,3
等等。NewDB.CallStatus
現在有一個稱爲Status
列保持所述實際爲nvarchar(1)的值A
,B
,C
等
我使用SSIS遷移數據。到目前爲止,我知道我需要對每個源使用Sort轉換,然後使用Merge Join轉換將新的NewDB.Call.StatusID
映射到OldDB.Call.Status
值。無論出於何種原因,它似乎開始很好,但最終抓住其他列(例如像描述列),並在那裏推錯了錯誤的數據類型。簡而言之,它並不像它應該那樣映射外鍵。
我在網上找到了很多關於如何做到這一點的例子(like this),但似乎我錯過了一些關鍵的重要信息,以便了解我在做什麼,因爲我一直在爲它做點什麼。
在一個完美的世界中,一步一步將是偉大的,但一個好的和簡潔的教程或解釋也會有用。 總之,我需要知道如何掛接這兩個表並將OldDB
中的值映射到NewDB
中的外鍵,並將該值存儲在NewDB.CallStatus
中。
兩件事。首先:你可以張貼你的軟件包的屏幕截圖,這樣我們可以更好地瞭解你錯過了什麼。沒有這些,我們只是猜測。第二:通常認爲有一列是varchar(1),因爲它不是可變長度。它總是1. – Zane
varchar(1)是遺留的,我們正在消除,謝天謝地。 Aaand我不能再做屏幕截圖了,因爲它只是作爲一個加入sql腳本的速度要快得多 - 我們希望在SSIS中實現自動化,但是......已經這麼做了......謝謝。 – MetalPhoenix