今天想用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位版本才可以選擇添加
64位版本:
http://www.mysql.com/downloads/connector/odbc/
點擊完成後你需要選擇自己的mysql資料庫源
這樣就能在ODBC裡面看到了.
可惜在sql server的匯出資料中轉換不成功,說什麼體繫結構不匹配.
沒辦法,繼續在網上找,發現一篇部落格說可以使用mss2sql來轉換,結果在win7 64位上轉換成功:
參考:http://www.cnblogs.com/andrew-blog/archive/2011/12/03/SQL_mss2sql.html
mss2sql:http://files.cnblogs.com/andrew-blog/mss2sql.rar
下載後開啟壓縮包
運行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,