使用軟體:MySQLMigrationTool
前提要安裝JRE...才會出現下面的介面.
運行軟體後,點NEXT進入以下介面:
選擇MS SQL SERVER,按提示填寫,Connection String為:
jdbc:jtds:sqlserver://IP地址:連接埠(預設1433)/資料庫名;user=使用者名稱;password=密碼;charset=gb2312;domain=
下一步為MySQL的資訊,Connection String為:
jdbc:mysql://IP地址:連接埠(預設3306)/?user=使用者名稱&password=密碼&useServerPrepStmts=false&
characterEncoding=UTF-8
之後一路按提示進行。到此介面選擇要忽略的表。
繼續NEXT,進入此介面,此處設定字元編碼,非常關鍵。
,Migration of type MSSQL Schema處選擇Mutilanguage,Migration of type MSSQLTable處選擇Data consistency / multilanguage。
接下來一路NEXT即可搞定。
以下是我遇到的問題與解決辦法:
提示資料過大,無法匯入。修改my.cnf檔案的max_allowed_packet = 100M以上。在windows作業系統中,my.cnf有可能顯示不出來,需要用編輯器直接輸入地址:盤符://目錄/mysql/bin/my.cnf開啟。
“there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause”,MSSQL一個表中有兩個以上的日期時間欄位使用了getdate()取預設值,去掉即可。
“BLOB/TEXT column '表名' can't have a default value”,此欄位不允許使用預設值,去掉即可。
“The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs”,此表欄位佔用空間太大,適當減少其欄位數量或長度。