MySQL如何轉SQL server

 

MySql的數據如何導入到Sql Server數據庫中?(轉載)

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

 

 

要點:mysql 和 mysql odbc 都是64位html

 

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

 

 

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

 

成功執行上述兩文件,會獲得一個名爲「dapingtai」的MySql數據庫數據庫

 

接下來就開始咱們MySql數據庫到Sql Server數據的轉化工做。。。api

 

(一)爲 MySQL安裝ODBC驅動ide

 

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

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


 

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

 

 

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

 

 

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),在執行就成功了。

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

相關文章
相關標籤/搜索