SqlServer轉(zhuǎn)換為Mysql(mss2sql)
今天想用ruby on rails做一個(gè)小項(xiàng)目,需要用到mysql數(shù)據(jù)庫(kù),項(xiàng)目中的數(shù)據(jù)已經(jīng)有了,只不過(guò)是保存在Sql Server中,用rails倒是可以操作Sql Server,但是總感覺(jué)不怎么搭配,想轉(zhuǎn)換后使用,網(wǎng)上翻了下,轉(zhuǎn)換的辦法有很多,通過(guò)ODBC的,通過(guò)PHP程序的,寫(xiě)SQL代碼的,覺(jué)得轉(zhuǎn)換還是用工具吧,先是用ODBC試著玩了下,發(fā)現(xiàn)Sql Server的導(dǎo)出功能對(duì)mysql ODBC的支持并不是太好
ODBC分32,64位,一開(kāi)始下了個(gè)32位,在Win7 64位上面顯示不出來(lái),又從mysql官網(wǎng)下載了64位版本才可以選擇添加
64位版本:
http://www.mysql.com/downloads/connector/odbc/
點(diǎn)擊完成后你需要選擇自己的mysql數(shù)據(jù)庫(kù)源
這樣就能在ODBC里面看到了.
可惜在sql server的導(dǎo)出數(shù)據(jù)中轉(zhuǎn)換不成功,說(shuō)什么體系結(jié)構(gòu)不匹配.
沒(méi)辦法,繼續(xù)在網(wǎng)上找,發(fā)現(xiàn)一篇博客說(shuō)可以使用mss2sql來(lái)轉(zhuǎn)換,結(jié)果在win7 64位上轉(zhuǎn)換成功:
參考:http://www.cnblogs.com/andrew-blog/archive/2011/12/03/SQL_mss2sql.html
mss2sql下載地址:http://files.cnblogs.com/andrew-blog/mss2sql.rar
下載后打開(kāi)壓縮包
運(yùn)行mss2sql
默認(rèn)就是Move to MysQL server directly,選擇下一步
繼續(xù)下一步,稍等片刻
這次是需要連接到MySQL server了,我是本地,所以選擇了Local,填寫(xiě)上你的用戶名和密碼
繼續(xù)等待連接
選擇在MS SQL里面需要轉(zhuǎn)換的數(shù)據(jù)庫(kù)
點(diǎn)下一步,如果mysql里面有同名的數(shù)據(jù)庫(kù),會(huì)讓你來(lái)選擇轉(zhuǎn)換的方式,分別是
Overwrite the entire database:覆蓋整個(gè)數(shù)據(jù)庫(kù)
Overwrite existing tables only:只覆蓋存在的表
Skip existing tables:跳過(guò)存在的表
Merge:合并
我的mysql里面的只是一張空數(shù)據(jù)庫(kù),所以選了第一項(xiàng),整個(gè)覆蓋.
選擇需要轉(zhuǎn)換的表,添加到轉(zhuǎn)換列表中,我是需要全部的表,所以選擇了Add all
然后就是一段時(shí)間的等待
這個(gè)表里面的數(shù)據(jù)并不多,花費(fèi)時(shí)間稍長(zhǎng),大概有10分鐘,如果表大的話,可能用程序來(lái)轉(zhuǎn)換會(huì)快一些,有方便的辦法也請(qǐng)告之為謝
下面就是轉(zhuǎn)換成功后的表格了,里面的數(shù)據(jù)OK,中文也沒(méi)有什么問(wèn)題.
本文操作環(huán)境為:
win7 64位,sql server 2008 express, Mysql 3.23.49,apache 1.3.33,