2017-08-01 128 views
0

我想從一個表中的所有數據出來的MsSQL數據庫將其導入到MySQL。看指南應該很簡單。MsSQL到MySQL遷移

我選擇任務 - >導出數據 那麼,我選擇了..

..source爲MSSQL Server本機客戶端

..target爲平面文件(區域設置=丹麥,並勾選複選框的Unicode)

由「(雙引號)

..to去除頭

..delimited ..row定界符作爲{CR} {} LF(這是\ r \ n在MySQL?)

..column分隔符爲,(逗號)

和運行它立刻 - 在文件>結果稱爲test.csv

我使用「腳本表」來獲取所有列和它們的屬性,將它們複製到MySQL Workbench中並使代碼適應MySQL的創建格式。

LOAD DATA LOCAL INFILE 'D:\\test.txt' INTO TABLE test FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' ;

然後我得到以下錯誤:

錯誤代碼:1300 UTF8無效的字符串:「」

這個我真的不明白,因爲我已經出口到Unicode格式。有任何想法嗎?

+0

你有沒有聽說過** MSSA **?這是一個你很容易做到的工具。更多信息[這裏](https://docs.microsoft.com/en-us/sql/ssma/sql-server-migration-assistant) – Fmanin

+0

不,但我也是以其他方式。 MsSQL - > MySQL和作爲我可以讀MSSA的FAS是MySQL - > MsSQL .. –

回答

0

我相信它的格式問題和最好的方法是做一個腳本。

    使用 ODBCPHP(如果使用的是PHP), odbc_connect例如 Conn1
  • 連接數據庫
  • 使用 mysqliPHP mysqli_connect例如 Conn2
  • 獲取每個記錄在陣列或與連接Conn1對象
  • 連接數據庫
  • 現在插入記錄Conn2

我希望它能幫助你。 謝謝

+0

我不是一個PHP程序員,我用Dbble有點用Python,但不知道我是否足夠熟練,可以做出你的建議。據我所知,MsSQL是默認的拉丁-1,所以我正在考慮出口作爲和導入轉換,這是一個選項? –

+0

那麼,你需要在python中加載MS Sql和MySQL的驅動程序,你可以這樣做。 關於格式化,是的,你是對的。你也可以嘗試。 –