[轉]將MSSQL數據導入MySQL

from : http://topic.csdn.net/t/20060925/16/5046715.html

 

 

由於工作需要,需要將MSSQL數據庫中的信息移植到MySQL當中。在網上查了很多資料,大多說得比較簡略,一般都是通

 

過odbc來進行轉換,然後根據出錯信息對錶進行修改。最初,也嘗試了這種辦法,發現MSSQL的提示信息很少,而錯誤卻

 

很多,所以這種辦法並不可行。後來又嘗試MySQL   官方提供的MySQL   Migration   Toolkit工具和SQLWays,發現

 

Migration   Toolkit中只要是含中文的信息都不能被移植,而SQLWays雖然可以移植中文,但是由於功能限制,所有

 

表中的字段都只能有7個字母,這樣並不能滿足要求。經過自己的努力,終於將數據庫移植成功。 

 

具體的方法如下 

    1.首先用MySQL   Migration   Toolkit進行數據庫的移植,這裏只移植表

 

的結構。只要選擇了原數據庫(MSSQL)和目標數據庫(MySQL)然後根據提示進行

 

選擇和點擊next就可以了。值得注意的是在編碼處要選擇自定義的gb2312編碼,

 

如圖所示: 

  http://lizhilin.myrice.com/project/t1.jpg 

  http://lizhilin.myrice.com/project/t2.jpg 

 

    2.通過SQLWays移植表中的數據.大體步驟也是選擇原數據庫和目標數據庫後

 

一路next就可以了。當讀取完MSSQL中的信息後,再選擇import就可以進行導入

 

了。由於MySQL數據庫中已經存在了對應的表,所以SQLWays會在移植過程中提示

 

創建表和字段失敗,不過數據還是會被移植的,這樣就繞開了7字節限制,也正

 

是我想要的結果。需要注意的是,SQLWays需要對數據源進行配置,所以還需要

 

MySQL的ODBC包,並且在數據源中配置MSSQL和MySQL即可。 

 

    3.還有一點需要注意,由於兩個數據庫之間表的命名方式不同,所以在

 

Migration   Toolkit完成結構的一之後MySQL中的數據庫會被命名爲

 

mytable.dbo(MSSQL中爲mytable),如果想要命名爲mytable,還需要進行一部操

 

作:新建一個數據庫命名爲mytable,然後將mytable.dbo的結構拷貝到mytable

 

中,然後刪除mytable.dbo就可以了,這一步可以通過第三方GUI完成,比如EMS  

 

 SQL   Manager   for   MySQL等。 

 

    至此,兩個數據庫就完成了移植,希望本文對那些有相同需求的朋友有所幫

 

助。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章