新聞中心
次文章主要向大家介紹的是將MSSQL數(shù)據(jù)轉(zhuǎn)換到MySQL數(shù)據(jù)庫(kù)的時(shí)機(jī)操作方法(MSSQL2MYSQL) ,對(duì)于這個(gè)問(wèn)題了很早就有想解決的年頭了,但是到現(xiàn)在還不能算是解決,但至少先把我斗爭(zhēng)到現(xiàn)在的可行的方法以及我嘗試過(guò)的方法列舉出來(lái)。

為建鄴等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及建鄴網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站建設(shè)、網(wǎng)站制作、建鄴網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
最早使用的應(yīng)該是DBConvert for MSSQL and MySQL工具,但不知道為什么就是無(wú)法連接我的MSSQL,可能是2005的原因吧,鏈接2000好像是很OK的,因?yàn)槲覝y(cè)試連接虛擬主機(jī)的MSSQL2000完全正常,鏈接本機(jī)的MSSQL2005失敗,沒(méi)有辦法只好放棄。
然后繼續(xù)找方法,發(fā)現(xiàn)一個(gè)問(wèn)題是,我查找所有的中文的資料(就是Google查找出來(lái)的中文網(wǎng)頁(yè)),都沒(méi)有給我太好的結(jié)果,***只好用英文關(guān)鍵字查找:
convert mssql to mysql,竟然***條就是MYSQL數(shù)據(jù)庫(kù)官方的網(wǎng)頁(yè),進(jìn)去瀏覽后發(fā)現(xiàn)很不錯(cuò),基本上能夠解決我的問(wèn)題,并提出了五種方法,我查找的中文網(wǎng)頁(yè)基本上是讓我通過(guò)ODBC工具來(lái)解決的,即使給出代碼之類(lèi)也沒(méi)有好用的代碼。罷,真是差距。
簡(jiǎn)單讀來(lái),文章中提出了五種方法,分別如下(其實(shí),這個(gè)網(wǎng)頁(yè)的標(biāo)題也不是MSSQL2MYSQL數(shù)據(jù)庫(kù),所以有五種方法也應(yīng)該理解,原文鏈接:Migrating from Microsoft SQL Server and Access to MySQL):
- MSSQL2MYSQL
- Microsoft DTS
- SQLyog
- Access Export
- Text Import/Export
以上的幾種轉(zhuǎn)換,我想都應(yīng)該要用到ODBC for MYSQL的工具吧,所以請(qǐng)大家先自行下載安裝,并重啟電腦后再使用以上的方法。
Microsoft DTS應(yīng)該算是MSSQL自帶的導(dǎo)入導(dǎo)出工具吧,在導(dǎo)入導(dǎo)出ACCESS和文本等方面MSSQL還是很不錯(cuò)的,不過(guò)我在MSSQL2005的導(dǎo)入導(dǎo)出工具中竟然沒(méi)有找到ODBC,夠暈,難道沒(méi)有?看來(lái)還需要查查文檔。
而Access Export就是Access的導(dǎo)出工具,導(dǎo)出的時(shí)候選擇ODBC,當(dāng)然也需要先配置好MYSQL的ODBC參數(shù)才好進(jìn)行。
SQLyog是一個(gè)MYSQL的管理工具吧,由于懶得下載,所以也沒(méi)有測(cè)試。
Text Import/Export這個(gè)我在phpMyAdmin工具中導(dǎo)入文本文件即可,這可能比較適合小量的數(shù)據(jù),對(duì)于大量的工具我想就不是很方便了。
MSSQL2MYSQL是一個(gè)VB類(lèi)的代碼,全部的代碼請(qǐng)參見(jiàn)此頁(yè):http://www.kofler.cc/mysql/mssql2mysql.txt。將這個(gè)代碼復(fù)制到VBA或者VB的類(lèi)模塊中,按照說(shuō)明設(shè)置好參數(shù),運(yùn)行即開(kāi)始了數(shù)據(jù)的轉(zhuǎn)換過(guò)程。這里有一點(diǎn)值得注意的是,由于不同的數(shù)據(jù)庫(kù)引擎,使用的字段的類(lèi)型是不一樣的,所以涉及到字段類(lèi)型轉(zhuǎn)換,不過(guò)這份代碼已經(jīng)解決了這份問(wèn)題,所以不用考慮數(shù)據(jù)轉(zhuǎn)換,不過(guò)我也就基本的數(shù)據(jù)類(lèi)型永不到image等等類(lèi)型所以我想有沒(méi)有和我關(guān)系不大。
我打開(kāi)VB6真的設(shè)置了參數(shù)運(yùn)行了一遍,可以通過(guò),本來(lái)準(zhǔn)備寫(xiě)成工具的,結(jié)果發(fā)現(xiàn)人家本來(lái)就提供了第三方的GUI工具,唉,早知道我就直接下GUI工具就可以了不必那么累讓自己動(dòng)手一遍。
OK,下面有一個(gè)GUI versions的部分,這里提供了兩個(gè)MSSQL2MYSQL的GUI工具,這兩個(gè)工具都是比較簡(jiǎn)單,我簡(jiǎn)單的說(shuō)一下參數(shù),MSSQL和MYSQL數(shù)據(jù)庫(kù)的鏈接參數(shù)我想都會(huì)的,那個(gè)drop database參數(shù)大概是說(shuō)在轉(zhuǎn)換前先刪除MYSQL中的該數(shù)據(jù)庫(kù),然后再做轉(zhuǎn)換,就是為了干凈嘛,所以如果轉(zhuǎn)換到已經(jīng)存在的數(shù)據(jù)庫(kù)中的話就需要注意了,verbosity其實(shí)就是output選項(xiàng),是轉(zhuǎn)換到數(shù)據(jù)庫(kù)呢還是輸出為SQL文件呢?
1為輸出文件,0為直接導(dǎo)入到MYSQL,其余沒(méi)有什么好說(shuō)的,字符編碼一般我想也都用UTF-8吧。其余就自己琢磨吧。
關(guān)于MSSQL2MYSQL的效率,真是讓我大失所望,可以說(shuō)雖然找到了這樣的方法,但是真正的轉(zhuǎn)換不僅僅是痛苦。上面的MSSQL2MYSQL代碼轉(zhuǎn)換方法,效率大概是1小時(shí)5000條記錄,而使用Access Export,好像也沒(méi)有快多少。要知道我600萬(wàn)條記錄,那要我轉(zhuǎn)換到猴年馬月?瘋掉。
看來(lái)還得想其他辦法。不過(guò)話又說(shuō)回來(lái),我將600萬(wàn)條記錄使用BCP映射的方法導(dǎo)入到SQL SERVER中,大概也要半個(gè)多小時(shí),而使用SQL SERVER的導(dǎo)出功能將數(shù)據(jù)庫(kù)導(dǎo)出為ACCESS,時(shí)間也不短,***等的沒(méi)有耐心只好開(kāi)著電腦就去睡覺(jué)了。
這大概就是我現(xiàn)階段所嘗試的MSSQL2MYSQL數(shù)據(jù)庫(kù)的方法吧,如果有朋友有更好更快的方法,請(qǐng)務(wù)必告知一聲,謝謝更新:有可能會(huì)提示無(wú)法連接MYSQL,此部分可能和你裝的MYSQL ODBC有關(guān)系,因?yàn)槟J(rèn)的設(shè)置文字好像有問(wèn)題,我把ODBC版本設(shè)置為“MySQL ODBC 5.1 Driver”,這樣就可以連接了??赡苄掳姹镜腗YSQL ODBC已經(jīng)有所更新而代碼中還是舊版本的所以不支持吧。
【編輯推薦】
- MySQL語(yǔ)句優(yōu)化的原則簡(jiǎn)述
- MySQL索引和查詢優(yōu)化的實(shí)際操作
- MySQL數(shù)據(jù)庫(kù)內(nèi)存調(diào)優(yōu)實(shí)操
- MySQL存儲(chǔ)過(guò)程中的基本函數(shù)描述
- MySQL存儲(chǔ)過(guò)程中的語(yǔ)法學(xué)習(xí)
分享標(biāo)題:將MSSQL數(shù)據(jù)轉(zhuǎn)換到MySQL數(shù)據(jù)庫(kù)的實(shí)操演示
瀏覽路徑:http://m.5511xx.com/article/djsjpgd.html


咨詢
建站咨詢
