sqlserver2008資料庫轉換mysql 5.5資料匯入方法

來源:互聯網
上載者:User

一,只轉換資料庫(兩資料庫中表與資料都一樣只是由sqlserver轉換mysql)

想把Microsoft sql server 2008的資料匯入到mysql 5.5 ,過程並沒有想象的那麼簡單。
安裝環境:
Microsoft sql server 版本:2008
mysql 版本: 5.5
作業系統版本:windows7 64位

1、SQL Server Management Studio匯出的嚮導裡,在選擇匯出目的資料來源的時候沒有發現mysql的驅動,於是安裝mysql的ODBC 5.2.3:http://dev.mysql.com/downloads/connector/odbc/,因為我的作業系統是64版本,於是下載的版本也是64位的。安裝完畢,並在windows7的“控制台”—>”管理工具”—>”資料來源(ODBC)” 配置mysql 的使用者dsn和系統dsn 。

2、配置完dsn後,再次運行SQL Server Management Studio匯出的嚮導,但在選擇目的源的仍然沒有關mysql的odbc資料來源查資料有種說法是sql server 從 2005版本開始不再支援odbc的資料來源了,不過我沒查到官方的解釋。使用.NET Framework Data Provider for ODBC 方式報錯:未探索資料源名稱並且未指定預設的驅動程式,原因不明。

3、於是嘗試是不是可以通過mysql的用戶端Navicat for MySQL來匯入資料。開啟Navicat for MySQL,建立一個空庫,然後選擇“表”,右鍵選擇“匯入嚮導”,選擇匯入的資料格式為“odbc”,然後選擇資料來源“SQL server Native Client 10.0”,輸入資料庫伺服器ip地址、使用者名稱、密碼,選擇資料庫,串連成功後,選擇要匯入的表。我匯入後,檢查mysql資料後發現,去掉了主鍵屬性,需要手動添加。基本算是匯入成功了。

二、轉移資料

我使用了MySQL的Client的工具SQLyog,這個工具的安裝很簡單。安裝完成之後點擊需要匯入的目標資料庫,點擊右鍵【Import】->【Import Extenal Data】;

(Figure1:Import)

選擇【Start a new job】,點擊【下一步】;

(Figure2:Start a new job)

下面就是DSN的設定介面,如果你的下來列表中沒有需要匯出SQL Server資料庫的DSN,那麼需要通過【Create a New DSN】來建立一個新的DSN串連到SQL Sever;

(Figure3:Create a New DSN)

(Figure4:建立新資料來源)

(Figure5:選擇資料來源類型)

把上面的設定儲存為一個local.dsn檔案;

(Figure6:選擇資料來源儲存路徑)

(Figure7:選擇SQL Server伺服器)

(Figure8:設定SQL Server帳號和密碼)

(Figure9:選擇SQL Server資料庫)

(Figure10:測試資料來源)

(Figure11:測試成功)

選中【File DSN】,在瀏覽中選擇我們剛剛建立好的DSN,接著填寫登入到SQL Server的帳號和密碼;

(Figure12:選擇DSN)

下一步,選擇目標MySQL伺服器,填寫IP地址和帳號密碼,並且需要選擇目標資料庫;

(Figure13:設定MySQL帳號和密碼目標資料庫)

這一步類似SQL Server的匯入匯出功能,這裡可以拷貝一個表或者使用SQL指令碼過濾資料;

(Figure14:表拷貝)

上面的全部過程就是為建立SQL Server與MySQL的一個管道,接下來就是最為重要的設定SQL Server表與MySQL表之間的對應關係了;裡麵包括了SQL Server表欄位與MySQL表欄位之間的對應關係【Map】,進階選項【Advanced】,過濾【WHERE】。

(Figure15:選擇表對應關係)

下圖Figure16,資料來源【Source】,描述【Destination】,特別注意這裡資料類型【Type】,這裡的意思是轉換目標的資料類型,但是不需要跟目標表的一樣,因為這裡是做為一個臨時儲存的資料類型,類似FindOn在SQL Server中是datetime,這裡轉換為MySQL的timestamp,其實MySQL目標表的資料類型是datetime,這樣的設定也是可以轉換成功的。

(Figure16:表欄位轉換)

(Figure17:進階選項)

(Figure18:Error)

(Figure19:Log)

(Figure20:執行資訊)

(Figure21:執行結果)

(Figure22:原始SQL Server的資料列表)

(Figure23:轉移到MySQL的資料列表)

對比下Figure20與Figure21,發現我們資料已經全部轉移成功了;

二,資料結構與資料表都不相同,這個我這裡不寫方法了,大家使用程式直接轉換,在轉換時對於資料欄位類型中mysql與sqlserver有一個text類型需要進行強制轉換哦

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.