一、 背景
由于項目開始時候使用的數(shù)據(jù)庫是SQL Server,后來把存儲的數(shù)據(jù)庫調(diào)整為MySQL,所以需要把SQL Server的數(shù)據(jù)轉(zhuǎn)移到MySQL;由于涉及的表比較多,所以想在MySQL中生成對應(yīng)表并導(dǎo)入數(shù)據(jù);
上網(wǎng)找了些資料,如: 將ACCESS和MSSQL導(dǎo)入MYSQL中 、 MySQL Migration 實現(xiàn) MSSQL 到 MySQL數(shù)據(jù)遷移 ,雖然不知道里面的做法是否可以成功轉(zhuǎn)移,但是里面的過程比較復(fù)雜,沒有去嘗試,后來自己找到了方法,最重要就是簡單和準(zhǔn)確(暫時沒發(fā)現(xiàn)明顯的BUG),這里分享給大家。
?
二、 轉(zhuǎn)移數(shù)據(jù)
我使用了MySQL的Client的工具SQLyog,這個工具的安裝很簡單。安裝完成之后點擊需要導(dǎo)入的目標(biāo)數(shù)據(jù)庫,點擊右鍵【Import】->【Import Extenal Data】;
(Figure1:Import)
選擇【Start a new job】,點擊【下一步】;
(Figure2:Start a new job)
下面就是DSN的設(shè)置界面,如果你的下來列表中沒有需要導(dǎo)出SQL Server數(shù)據(jù)庫的DSN,那么需要通過【Create a New DSN】來創(chuàng)建一個新的DSN連接到SQL Sever;
(Figure3:Create a New DSN)
(Figure4:創(chuàng)建新數(shù)據(jù)源)
(Figure5:選擇數(shù)據(jù)源類型)
把上面的設(shè)置保存為一個local.dsn文件;
(Figure6:選擇數(shù)據(jù)源保存路徑)
(Figure7:選擇SQL Server服務(wù)器)
(Figure8:設(shè)置SQL Server帳號和密碼)
(Figure9:選擇SQL Server數(shù)據(jù)庫)
(Figure10:測試數(shù)據(jù)源)
(Figure11:測試成功)
選中【File DSN】,在瀏覽中選擇我們剛剛創(chuàng)建好的DSN,接著填寫登錄到SQL Server的帳號和密碼;
(Figure12:選擇DSN)
下一步,選擇目標(biāo)MySQL服務(wù)器,填寫IP地址和帳號密碼,并且需要選擇目標(biāo)數(shù)據(jù)庫;
(Figure13:設(shè)置MySQL帳號和密碼目標(biāo)數(shù)據(jù)庫)
這一步類似SQL Server的導(dǎo)入導(dǎo)出功能,這里可以拷貝一個表或者使用SQL腳本過濾數(shù)據(jù);
(Figure14:表拷貝)
上面的全部過程就是為創(chuàng)建SQL Server與MySQL的一個管道,接下來就是最為重要的設(shè)置SQL Server表與MySQL表之間的對應(yīng)關(guān)系了;里面包括了SQL Server表字段與MySQL表字段之間的對應(yīng)關(guān)系【Map】,高級選項【Advanced】,過濾【W(wǎng)HERE】。
(Figure15:選擇表對應(yīng)關(guān)系)
下圖Figure16,數(shù)據(jù)源【Source】,描述【Destination】,特別注意這里數(shù)據(jù)類型【Type】,這里的意思是轉(zhuǎn)換目標(biāo)的數(shù)據(jù)類型,但是不需要跟目標(biāo)表的一樣,因為這里是做為一個臨時存儲的數(shù)據(jù)類型,類似FindOn在SQL Server中是datetime,這里轉(zhuǎn)換為MySQL的timestamp,其實MySQL目標(biāo)表的數(shù)據(jù)類型是datetime,這樣的設(shè)置也是可以轉(zhuǎn)換成功的。
(Figure16:表字段轉(zhuǎn)換)
(Figure17:高級選項)
(Figure18:Error)
(Figure19:Log)
(Figure20:執(zhí)行信息)
(Figure21:執(zhí)行結(jié)果)
(Figure22:原始SQL Server的數(shù)據(jù)列表)
(Figure23:轉(zhuǎn)移到MySQL的數(shù)據(jù)列表)
對比下Figure20與Figure21,發(fā)現(xiàn)我們數(shù)據(jù)已經(jīng)全部轉(zhuǎn)移成功了;
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
