萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> 數據庫綜合 >> mssql如何轉換到MySQL呢

mssql如何轉換到MySQL呢

大家知道mssql如何轉換到MySQL嗎?下面我們就給大家詳細介紹一下吧!

方法一:

1.導表結構

使用MySQL生成create腳本的方法。找到生成要導出的腳本,按MySQL的語法修改一下到MySQL數據庫中創建該表的列結構什麼的。

2.導表數據

在MSSQL端使用bcp導出文本文件:

bcp "Select * FROM dbname.dbo.tablename;" queryout tablename.txt -c -Slocalhostdb2005 -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都是要用實際MySQL服務器的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"一節

相信大家已經學會mssql如何轉換到MySQL了吧!感謝大家對我們網站的支持!

相關推薦:

SQL SERVER清除日志的方法

copyright © 萬盛學電腦網 all rights reserved