首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

零程式碼實現 SQL Server 數據遷移至 MySQL 完整圖文教程

     編輯:MySQL 資料庫相關知識

前言

跨資料庫平台的數據遷移是 DBA 與開發人員常遇到的任務。本文介紹一種完全圖形化、無需編寫任何程式碼的方法:利用 SQL Server 內建的 DTS (Data Transformation Services) 導出文字檔,再透過 phpMyAdmin 導入 MySQL。適合中小型數據量、結構相對簡單的遷移場景。

前置準備

  • 已安裝 SQL Server 企業管理器(或 Management Studio)
  • 已安裝並配置好 MySQL 及 phpMyAdmin
  • 確保網路連通,能分別連線到來源 SQL Server 與目標 MySQL

步驟一:建立 DTS 封裝導出文字檔

  1. 打開 SQL Server 企業管理器,展開「數據轉換服務」,右鍵選擇「新建封裝」。
  2. 在 DTS 設計器中,點選工具列的「連接」圖示,新增「Microsoft OLE DB Provider for SQL Server」作為資料來源,輸入伺服器、認證方式、預設資料庫。
  3. 再次新增連接,選擇「Text File (Destination)」作為目的地,指定輸出檔案路徑與檔名(如 export_data.txt),格式選「分隔符號」,列分隔符建議用 Tab 或逗號,文字限定符雙引號。
  4. 建立「轉換數據任務」,將滑鼠從來源連接拖曳到目的地連接。雙擊任務進入屬性,逐一定義「來源」、「目的地」、「轉換」頁籤:勾選要導出的資料表、對應欄位、必要時做資料類型轉換。
  5. 點擊工具列「執行」圖示(或右鍵封裝選「執行」),等待提示成功。儲存封裝以便後續複用。

步驟二:在 MySQL 建立目標資料表

登入 phpMyAdmin,在目標資料庫下執行 CREATE TABLE 語句,確保欄位名稱、型別、長度與來源表一致。若原表有主鍵、索引、自增屬性,同步建立。

步驟三:phpMyAdmin 導入文字檔

  1. 在 phpMyAdmin 選中目標資料表,點擊「匯入」標籤。
  2. 選擇剛才導出的文字檔,格式選「CSV」或「CSV using LOAD DATA」。
  3. 關鍵設定:
    • 欄位分隔符:與導出時一致(如 Tab 需填 \t)
    • 欄位包圍字元:雙引號 "
    • 跳過前 N 行:若檔案含標題行,設為 1
    • 欄位名稱:若檔案無標題,需手動輸入欄位順序
  4. 點擊「執行」,觀察導入筆數與錯誤訊息。

進階場景:目標表結構不同時的處理

若目標表欄位名稱/順序不同,或已存在數據不可截斷:

  1. 先建立一張臨時表,結構與導入檔案完全一致,導入數據。
  2. 在 phpMyAdmin 對臨時表執行「匯出」→ 選擇「資料和結構」→ 產生 INSERT 語句的 SQL 檔。
  3. 用文字編輯器開啟 SQL 檔,利用「取代」功能批量修改表名、欄位名。
  4. 在目標表執行修改後的 SQL,完成數據合併。

常見問題排查

  • 編碼亂碼:確保導出檔案編碼(通常 ANSI/UTF-8)與 phpMyAdmin 導入時選擇的字元集一致。
  • 日期格式錯誤:SQL Server 導出的日期格式可能不被 MySQL 識別,可在 DTS 轉換階段用 CONVERT(VARCHAR, date_col, 120) 統一為 YYYY-MM-DD HH:MM:SS。
  • 大數據量效能:超過百萬筆建議改用 bcp + LOAD DATA INFILE 命令列模式,或使用專業 ETL 工具(如 Kettle、Talend)。

結語

「零程式碼」不代表「零技術含量」。熟練掌握 DTS 導出細節與 phpMyAdmin 導入參數,能讓你在無開發環境、無權限安裝額外工具的受限環境下,快速完成異構資料庫遷移。遷移前務必做好數據校驗(筆數、抽樣對比),遷移後保留導出檔案作為回滾依據。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved