MSSQL數據導出到MYSQL
花了一天時間把MSSQL里的數據導出到MYSQL, 好麻煩,二個數據庫都是阿里雲買的雲服務器。
- 先上阿里雲控制面板,備份下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上可以直接執行
