Posts

Showing posts from June, 2013

[AS400] 小量數據轉移數據到SQL Server之方法 (2013/07/11更新)

Image
這幾天要幫公司把data從老舊的AS400轉移到SQL Server上面去。
由於之前沒有任何經驗所以先問一下古哥。
很多大大也是使用SQL Server內建的Import Export Wizard。
以下是我利用odbc的方法成功移轉的經驗,未必是最好不過希望給大家參考一下。

準備工作:

先在目的SQL Server建立一空的資料庫, 例如"AS400"
由於我用的是ODBC,所以目的地端的SQL SERVER一定要先設好IBM的Client Access,我的版本是V5R4M0。最後要設好連接到成功連接到AS400的ODBC連接字串。
另外檢查一下Client Access中有沒有設定使用者名稱,不然等一下會連不到喔。在ODBC資料來源管理員中選擇AS400的連接,按"設定"在"General"頁面中按"Connection Options"在"Use the user ID specified below"中輸入登入名稱,按"OK" 步驟: 在剛剛建立的空資料庫按右鍵-> Tasks-> Import Data,彈出匯入和匯出精靈後按下一步。
接下來是 "選擇資料來源" 頁面:
資料來源選擇".Net Framework Data Provider for Odbc"

Dsn填寫ODBC中連接AS400的字串名稱,如我的ODBC字串是AS400ODBC,填寫的就是這個名稱。並不是Dsn=AS400ODBC;uid=terence 這種喔。

填寫完以後按下一步。如果連接成功會來到"選擇目的地"頁面,不然就會出現謎一樣的錯誤,小弟試過的錯誤包括:
DSN格式錯誤在Client Access中沒有指定使用者名稱。 在選擇目的地畫面設好目的地的資料庫,如我目的地的資料庫叫AS400,設好以後按下一步。
選擇"從一或多個資料或檢視表複製資料"或"寫入查詢來指定要傳送的資料",我選的是第一頁,按下一步。接下來選擇需要匯入的資料表,要注意的是在準備工作中提到的在Client Access中的User權限是否足夠。選擇好以後按下一步。
再按下一步,直接按"完成"就開始複製工作,完成後出現以下畫面
最後打開查詢視窗打一下SQL …