MySql的數據如何導入到Sql Server數據庫中?


本文咱討論的重點是如何將MySql數據導入到Sql Server數據庫中,所以就需要機器上同時安裝了MySql和Sql Server兩種數據庫。




當我們拿到MySql數據文件時,首先在MySql數據庫下建立一個新的數據庫,隨便取名爲"dapingtai",將sql文件拖入查詢窗口會直接打開該文件,然後執行就會得到sql文件中的想要的表接口和數據,但是當sql文件比較大時,如上圖的bang-region-dump-160927.sql是102M大小的,直接拖入查詢窗口就會出現一個警告框




警告框告訴我們這個文件比較大,並提供了“打開”和“運行sql腳本”兩個操作選項。這裏有一個小坑(直接點擊“Run SQL Script”會出現一個錯誤,如下圖),我們還是先“Open”,在執行吧。



成功執行上述兩文件,會得到一個名爲“dapingtai”的MySql數據庫



接下來就開始我們MySql數據庫到Sql Server數據的轉化工作。。。


(一)爲 MySQL安裝ODBC驅動

1. 下載MySQL ODBC Connector,下載http://dev.mysql.com/downloads/connector

2. 從控制面板-管理工具,打開你的 數據源(ODBC),選 系統DNS ,點添加。




3. 在 創建新數據源對話框中,選擇MySQL ODBC 5.3 ANSI Driver ,點完成。




4.完成後會出現MySQL 鏈接對話框,添加你的 MySQL 數據庫賬號信息,並確認"root"賬號是否有全部的權限,如果你安裝MySQL 沒有修改的話, 不要改 3306這個端口號。




5.選擇要建立連接的數據庫,並測試。



(二)創建Microsoft SQL到MySQL的鏈接

1.在SQL Server Management Studio中打開一個new query 拷貝以下語句,修改爲你的數據庫的名稱、賬戶密碼,並運行。


EXEC master.dbo.sp_addlinkedserver 
@server = N'MYSQL', 
@srvproduct=N'MySQL', 
@provider=N'MSDASQL', 
@provstr=N'DRIVER={MySQL ODBC 5.3 ANSI Driver}; SERVER=127.0.0.1; _
 DATABASE=dapingtai; USER=root; PASSWORD=*******; OPTION=3'


2.這個腳本通過ODBC驅動創建一個聯接到你的MySQL數據庫,這個聯接出現在Microsoft SQL Server Management Studio如下圖:



沒有出現MYSQL這個連接的話,就刷新一下看看。

有的話點連接前的+號展開看看錶是否都完全映射過來了。。。。這裏也可能會有一個坑,見下圖:




見到錯誤也不要着急,請仔細檢查調用master.dbo.sp_addlinkedserver傳遞的的參數@provstr所填寫的數據庫驅動是否和建立ODBC時所選的驅動名稱一致?錯誤往往都是自己的粗心大意而造成的哦。。。


(三). 在兩個數據庫之間導數據

Microsoft SQL Server中創建個新的數據庫(如:homework1),在new query中拷貝如下語句,運行後就可以把MySQL 數據庫 “dapingtai"導入到Microsoft SQL 數據庫“homework1”中。  

導入Region表

SELECT * INTO [homework1].dbo.Region
FROM openquery(MYSQL, 'SELECT * FROM dapingtai.region')


成功導入。。

導入Category表

SELECT * INTO [homework1].dbo.category
FROM openquery(MYSQL, 'SELECT * FROM dapingtai.category')


咦,出錯了!!!



來在MySql下看一下Category的表設計,keyword字段爲VARCHAR(100)




我們查查看嘛,唉!還真有幾個不按套路出牌的傢伙。。。。見下圖




好吧,我忍了。。。那keyword字段到底應該給多大呢?




索性把Category表的字段改爲VACHAR(200),在執行就成功了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章