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

Access 遷移 MySQL 實戰全記錄:工具鏈、表結構調優與 ODBC 連接調教

     編輯:MySQL 資料庫相關知識

遷移工具鏈

  • Bullzip Access to MySQL:免費 GUI 工具,自動轉換 AutoNumber → AUTO_INCREMENT,支援批量匯出。
  • Dreamcoder for MySQL / MySQL Administrator:圖形化管理、結構調整、備份還原。
  • MySQL ODBC Driver:前端 Access 連接後端橋樑。

遷移關鍵調整清單

  1. 移除 Access 專用預設值函數:`Now()`、`Date()` 等 MySQL 不識別,匯出前刪除或改為 MySQL 函數(`NOW()`、`CURDATE()`)。
  2. 主鍵檢查:每表必須有主鍵(單欄或複合),否則 Access 連接後無法更新記錄。
  3. 欄位預設值對齊:前端表單預設值與資料庫欄位預設值保持一致。
  4. NULL 允許性:依業務需求正確設定 `NOT NULL`。
  5. 資料型別優化:MySQL 型別範圍更大,遷移後按實際數據分布縮小型別(如 `INT` → `SMALLINT`、`TEXT` → `VARCHAR(255)`)。
  6. OLE Object → LONGTEXT:Access OLE 物件轉為 MySQL BLOB 後,因 OLE 伺服器相容性問題,建議改為 `LONGTEXT` 存儲 Base64 或檔案路徑。
  7. 加入 Timestamp 欄位:每表末尾加 `last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP`,利於審計與同步。

備份與部署

MySQL Administrator → Backup → 產生 `.sql` 全量腳本(結構+資料)。異機部署:新機安裝 MySQL → 執行 `.sql` 還原,幾分鐘完成克隆。

Access 前端連接 ODBC 微調

  1. 刪除原本連接 Access 後端的連結表。
  2. 「外部資料」→「ODBC 資料庫」→「連結表」→ 選擇系統 DSN(已建立指向 MySQL 的 System DSN)。
  3. ODBC 設定「進階」→ Flags 1:勾選 Return Matching Rows、Allow Big Results,顯著改善大結果集效能。

效能觀察

  • Access 97 + MySQL 後端 > Access 2007 + MySQL 後端(早期版本 DAO 優於 ACE)。
  • 將記錄來源從「查詢建構器」改為「存儲查詢/視圖」或「VBA 動態 SQL」,速度明顯提升。
  • 現階段 Access 2007/2010 + MySQL 已接近原生 Access 後端效能。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved