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

SQL Server 資料無縫遷移至 MySQL:DTS 導出 + PHPMyAdmin 導入實戰

     編輯:MySQL 資料庫相關知識

前置條件

  • 已安裝 SQL Server 企業管理器(含 DTS 封裝設計師)。
  • 目標端已部署 MySQL 並安裝 PHPMyAdmin(或其他圖形管理工具)。

步驟一:SQL Server DTS 導出為文字檔

  1. 開啟企業管理器 → 「資料轉換服務」 → 「新增封裝」。
  2. 連接來源:選擇 SQL Server 登入與目標資料庫。
  3. 連接目的地:選擇 Text File (Destination),指定輸出路徑(如 C:\export\orders.txt)。
  4. 新增任務:選「轉換資料任務」,分別指定來源與目的連接。
  5. 屬性設定:對應來源表欄位與目的檔案欄位,設定分隔符(建議 Tab 或逗號)、文字限定符(雙引號)。
  6. 執行封裝,提示成功後儲存封裝備後續複用。
  7. (可選)在新任務上右鍵「導出資料」,勾選「從來源資料庫複製表與檢視表」,產生含結構的匯出檔。

步驟二:MySQL 建立對應表結構

  • 在 PHPMyAdmin 中依匯出檔欄位定義 CREATE TABLE,資料型態對應:
    varchar → VARCHAR、datetime → DATETIME、int → INT 等。
  • 若表已存在但欄位名不同,先建臨時表對應匯入檔結構,匯入後再用 INSERT INTO target SELECT ... FROM temp 轉移。

步驟三:PHPMyAdmin 從文字檔匯入

  1. 進入目標資料庫 → 選擇表 → 「從文字檔匯入」。
  2. 設定:
    檔案字元集(通常 utf-8)
    欄位分隔符(與 DTS 導出一致)
    欄位包裹字元(雙引號)
    跳過第一行(若含標題)
  3. 送出,驗證筆數與內容。

常見問題與技巧

問題解決
編碼亂碼DTS 導出指定 Unicode,MySQL 匯入選同字元集;必要時用 iconv 轉碼。
欄位順序不一致PHPMyAdmin 匯入頁可拖曳調整欄位對應;或先匯入臨時表再 SQL 轉移。
大量資料逾時調大 PHP max_execution_time、post_max_size;或改用 LOAD DATA INFILE / mysqlimport 命令行。
主鍵/唯一鍵衝突匯入前 TRUNCATE 目標表,或使用 REPLACE/IGNORE 模式。

進階替代方案

  • MySQL Workbench Migration Wizard:官方 GUI 異構遷移工具,支援 SQL Server → MySQL 結構與資料一鍵轉換。
  • ETL 工具:Kettle (PDI)、Talend、DataX,適合定時同步、複雜轉換。
  • CDC 工具:Debezium + Kafka 實現即時同步。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved