時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(1)
次文章主要向大家介紹的是將MSSQL數(shù)據(jù)轉(zhuǎn)換到MySQL數(shù)據(jù)庫的時機操作方法(MSSQL2MYSQL) ,對于這個問題了很早就有想解決的年頭了,但是到現(xiàn)在還不能算是解決,但至少先把我斗爭到現(xiàn)在的可行的方法以及我嘗試過的方法列舉出來。
最早使用的應該是DBConvert for MSSQL and MySQL工具,但不知道為什么就是無法連接我的MSSQL,可能是2005的原因吧,鏈接2000好像是很OK的,因為我測試連接虛擬主機的MSSQL2000完全正常,鏈接本機的MSSQL2005失敗,沒有辦法只好放棄。
然后繼續(xù)找方法,發(fā)現(xiàn)一個問題是,我查找所有的中文的資料(就是Google查找出來的中文網(wǎng)頁),都沒有給我太好的結(jié)果,最好只好用英文關(guān)鍵字查找:
convert mssql to mysql,竟然第一條就是MYSQL數(shù)據(jù)庫官方的網(wǎng)頁,進去瀏覽后發(fā)現(xiàn)很不錯,基本上能夠解決我的問題,并提出了五種方法,我查找的中文網(wǎng)頁基本上是讓我通過ODBC工具來解決的,即使給出代碼之類也沒有好用的代碼。罷,真是差距。
簡單讀來,文章中提出了五種方法,分別如下(其實,這個網(wǎng)頁的標題也不是MSSQL2MYSQL數(shù)據(jù)庫,所以有五種方法也應該理解,原文鏈接:Migrating from Microsoft SQL Server and Access to MySQL):
MSSQL2MYSQL
Microsoft DTS
Access Export
Text Import/Export
以上的幾種轉(zhuǎn)換,我想都應該要用到ODBC for MYSQL的工具吧,所以請大家先自行下載安裝,并重啟電腦后再使用以上的方法。
Microsoft DTS應該算是MSSQL自帶的導入導出工具吧,在導入導出ACCESS和文本等方面MSSQL還是很不錯的,不過我在MSSQL2005的導入導出工具中竟然沒有找到ODBC,夠暈,難道沒有?看來還需要查查文檔。
而Access Export就是Access的導出工具,導出的時候選擇ODBC,當然也需要先配置好MYSQL的ODBC參數(shù)才好進行。
SQLyog是一個MYSQL的管理工具吧,由于懶得下載,所以也沒有測試。
Text Import/Export這個我在phpMyAdmin工具中導入文本文件即可,這可能比較適合小量的數(shù)據(jù),對于大量的工具我想就不是很方便了。
MSSQL2MYSQL是一個VB類的代碼,全部的代碼請參見此頁:http://www.kofler.cc/mysql/mssql2mysql.txt。將這個代碼復制到VBA或者VB的類模塊中,按照說明設(shè)置好參數(shù),運行即開始了數(shù)據(jù)的轉(zhuǎn)換過程。這里有一點值得注意的是,由于不同的數(shù)據(jù)庫引擎,使用的字段的類型是不一樣的,所以涉及到字段類型轉(zhuǎn)換,不過這份代碼已經(jīng)解決了這份問題,所以不用考慮數(shù)據(jù)轉(zhuǎn)換,不過我也就基本的數(shù)據(jù)類型永不到image等等類型所以我想有沒有和我關(guān)系不大。
我打開VB6真的設(shè)置了參數(shù)運行了一遍,可以通過,本來準備寫成工具的,結(jié)果發(fā)現(xiàn)人家本來就提供了第三方的GUI工具,唉,早知道我就直接下GUI工具就可以了不必那么累讓自己動手一遍。
OK,下面有一個GUI versions的部分,這里提供了兩個MSSQL2MYSQL的GUI工具,這兩個工具都是比較簡單,我簡單的說一下參數(shù),MSSQL和MYSQL數(shù)據(jù)庫的鏈接參數(shù)我想都會的,那個drop database參數(shù)大概是說在轉(zhuǎn)換前先刪除MYSQL中的該數(shù)據(jù)庫,然后再做轉(zhuǎn)換,就是為了干凈嘛,所以如果轉(zhuǎn)換到已經(jīng)存在的數(shù)據(jù)庫中的話就需要注意了,verbosity其實就是output選項,是轉(zhuǎn)換到數(shù)據(jù)庫呢還是輸出為SQL文件呢?
1為輸出文件,0為直接導入到MYSQL,其余沒有什么好說的,字符編碼一般我想也都用UTF-8吧。其余就自己琢磨吧。
關(guān)于MSSQL2MYSQL的效率,真是讓我大失所望,可以說雖然找到了這樣的方法,但是真正的轉(zhuǎn)換不僅僅是痛苦。上面的MSSQL2MYSQL代碼轉(zhuǎn)換方法,效率大概是1小時5000條記錄,而使用Access Export,好像也沒有快多少。要知道我600萬條記錄,那要我轉(zhuǎn)換到猴年馬月?瘋掉。
看來還得想其他辦法。不過話又說回來,我將600萬條記錄使用BCP映射的方法導入到SQL SERVER中,大概也要半個多小時,而使用SQL SERVER的導出功能將數(shù)據(jù)庫導出為ACCESS,時間也不短,最后等的沒有耐心只好開著電腦就去睡覺了。
這大概就是我現(xiàn)階段所嘗試的MSSQL2MYSQL數(shù)據(jù)庫的方法吧,如果有朋友有更好更快的方法,請務必告知一聲,謝謝更新:有可能會提示無法連接MYSQL,此部分可能和你裝的MYSQL ODBC有關(guān)系,因為默認的設(shè)置文字好像有問題,我把ODBC版本設(shè)置為"MySQL ODBC 5.1 Driver",這樣就可以連接了。可能新版本的MYSQL ODBC已經(jīng)有所更新而代碼中還是舊版本的所以不支持吧。
關(guān)鍵詞標簽:MSSQL數(shù)據(jù),MySQL數(shù)據(jù)庫
相關(guān)閱讀
熱門文章
Xbox Game Pass
10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦
MySQL常用維護管理工具
MySQL數(shù)據(jù)庫啟動失敗1067進程意外終止的解決辦法總結(jié)
人氣排行 10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦 MySQL數(shù)據(jù)庫啟動失敗1067進程意外終止的解決辦法總結(jié) Mysql 1045錯誤解決辦法 MySQL服務器進程CPU占用100%解決辦法 MySQL導出導入命令的用例 MySQL連接字符串的實際操作步驟匯總 MySQL無法啟動、無法停止各種解決方法總結(jié) 三種常用的MySQL建表語句