MySQL如何轉SQL server


 

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

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

 

 

要點:mysql 和 mysql odbc 都是64位

 

當我們拿到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 拷貝以下語句,修改為你的數據庫的名稱、賬戶密碼,並運行。

 

 

[sql]  view plain  copy
 
 
 
 
  1. EXEC master.dbo.sp_addlinkedserver   
  2. @server = N'MYSQL',   
  3. @srvproduct=N'MySQL',   
  4. @provider=N'MSDASQL',   
  5. @provstr=N'DRIVER={MySQL ODBC 5.3 ANSI Driver}; SERVER=127.0.0.1; _  
  6.  DATABASE=dapingtai; USER=root; PASSWORD=*******; OPTION=3'  

 

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


 


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

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

 

 

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

 

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

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

導入Region表

 

[sql]  view plain  copy
 
 
 
 
  1. SELECT * INTO [homework1].dbo.Region  
  2. FROM openquery(MYSQL, 'SELECT * FROM dapingtai.region')  

 

成功導入。。

 

 

導入Category表

 

[sql]  view plain  copy
 
 
 
 
  1. SELECT * INTO [homework1].dbo.category  
  2. FROM openquery(MYSQL, 'SELECT * FROM dapingtai.category')  

 

 

咦,出錯了!!!

 

 

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

 



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

 



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

 

 

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

最后!!!!!千萬不要忘了添加索引主鍵什么的哦,因為這種導入方式並不能導入表之間的關系,弄好這些以后就大功告成啦。。。評論走起


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM