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