mssql轉換mysql的方法小結,需要的朋友可以參考下。
方法一:
1.導表結構
# 使用MySQL產生create腳本的方法。找到產生要匯出的腳本,按MySQL的語法修改一下到MySQL資料庫中建立該表的欄位結構什麼的。
2.導表資料
在MSSQL端使用bcp匯出文字檔:
bcp "Select * FROM dbname.dbo.tablename;" queryout tablename.txt -c -Slocalhost\db2005 -Usa
其中""中是要匯出的sql語句,-c指定使用\t進行欄位分隔,使用\n進行記錄分隔,-S指定資料庫伺服器及實例,-U指定使用者名稱,-P指定密碼.
在MySQL端使用mysqlimport 匯入文字檔案到對應表中
mysqlimport -uroot -p databasename /home/test /tablename.txt
其中-u指定使用者名稱,-p指定密碼,databasename指定資料庫名稱,表名與檔案名稱相同。
方法二:
MYSQL Migration Toolkit 應該是可以用的。
1、把MySQL Migration Toolkit安裝在運行有MS SQL server的機器上;
2、此機器還需要安裝java環境和jdbc驅動:
java環境去sun網站上下載,jdbc驅動去MySQL網站上下載(mysql-connector-java-5.0.5.zip),並且設定好路徑的環境變量;
3、如果你原來的資料庫裡有中文字符,必須明確設定幾個有關字元集的地方:
A. Source Database 選擇Database System為MS SQL:
這裡需要手動寫jdbc連接字串:點擊介面下方的Advanced鍵,出現一個方框,提示輸入"Connection String:",在這裡輸入如下格式:
jdbc:jtds:sqlserver://IP:PORT/YOURDB_NAME;user=USER;password=PASSWD;charset=gb2312(or gbk);domain=
其中,大寫IP, PORT, YOURDB_NAME,USER, PASSWD都是要用實際MS SQL Server伺服器的ip和連接埠,資料庫名,資料庫用戶名,密碼填寫;
B. Target Database 同樣需要手動編輯jdbc連接字串:
點選介面下方的Advanced鍵,出現一個方框,提示輸入"Connection String:"
在這裡輸入如下格式:
jdbc:mysql://IP: 3306/?user=USER&password=PASSWD&useServerPrepStmts=false&characterEncoding=gbk
#其中,大寫IP, USER, PASSWD都是要用實際MyMySQL伺服器的ip,資料庫使用者名,密碼填入
C.選擇sql server的schema和表格
D. Object Mapping
修改"Migration of type MSSQL Table":
點擊"Set Parameter",選擇"User defined", 設定"charset=gb2312(or gbk) , collation=gb2312(or gbk)_chinese_ci"
E. 之後沒有別的選項,一直到最後
F. 移植完以後,用圖形工具(MySQL query browser、SQLyog等)或用mysql客戶端(命令列)聯接,都可以看到中文。
在客戶端(命令列),先執行
mysql> set names gb2312(or gbk);
4、由於MS SQL server和MySQL在語法格式和資料類型定義等方面有一定的差異,所以移植過程不是很簡單,可能需要重複幾次,修正語法格式和資料類型定義。 MySQL Migration toolkit可以讓使用者手動修改產生的MySQL SQL語句,在其中的"Manual Editing"一節
方法三:
13號微軟發布了最新的專用轉換工具,下面是地址,支援mysql to 2005或2008
http://www.jb51.net/database/34633.html
官方下載地址
http://www.microsoft.com/downloads /details.aspx?FamilyID=c6f14640-da22-4604-aaaa-a45de4a0cd4a&displaylang=en
以上是mssql轉換mysql的方法說明的詳細內容。更多資訊請關注PHP中文網其他相關文章!