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