MSSQL資料匯出到MYSQL

weixin_33807284發表於2018-11-13

花了一天時間把MSSQL裡的資料匯出到MYSQL, 好麻煩,二個資料庫都是阿里雲買的雲伺服器。

  1. 先上阿里雲控制皮膚,備份下MSSQL資料庫,下載備份下來,在本地電腦上還原

2.本地MSSQL資料庫上執行select * into aaa from order where createtime>='2018-11-12 00:00:00' and createtime<='2018-11-13 00:00:00', 把一天的資料匯出到新表aaa中,其中aaa是不存在,存在aaa表的話會報錯

3.本地資料庫上對aaa表生成指令碼,只生成資料,生成的檔案中把[]符號替換為空字串,GO替換為;,insert aaa 替換為insert into order,N'替換為'

4.替換好的SQL儲存,先在本地MYSQL上試執行下能不能匯入,我用heidisql的載入SQL指令碼,可以直接執行的,執行前先點一下工具欄裡的那個忽略錯誤提示繼續匯入

5.本地測試成功的話把SQL指令碼檔案用遠端桌面存到伺服器上,在伺服器上執行heidisql,再匯入sql指令碼就行了

6.從第2步開始重複,一天一天的匯入資料,之所以一天一天匯出,因為受限於電腦配置的,訂單表一天的資料大概是1W左右,匯出成inser 語句後大概是20M左右,替換文字什麼的都正常,我試過匯出二天的資料2W多,結果在儲存成sql檔案的時候卡死了...

7.之所以以上這些操作不在遠端桌面上的資料庫裡操作,因為遠端伺服器是Sql server2012資料庫的,我發現在上面操作匯出訂單表資料的時候,那個時間欄位是 cast(0x648989ABCDEFD as DateTime) 這樣子的,這個在MYSQL上執行不了,本地的資料庫是sql server2016, 匯出的時候時間欄位是 cast('2018-11-13T12:00:00' as DateTime)這樣子的,這個在MYSQL上可以直接執行

相關文章