首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Access 與 Oracle 雙向資料遷移實戰:ODBC 設定、中文欄位處理與常見錯誤排查

     編輯:Oracle 資料庫基礎

適用場景

中小型專案、部門級資料庫、原型驗證,需快速將 Access (.mdb/.accdb) 資料移至 Oracle,或反向導出。

Access → Oracle(匯入)

  1. 開啟 Access,選取欲遷移的表。
  2. 關鍵:將表名、欄位名全部改為英文大寫(Oracle 預設大寫,避免雙引號麻煩)。
  3. 另存為 → 選擇 ODBC Database。
  4. 若無 DSN,點「新增」→ 選 Oracle in OraClient11g_home1(或對應版本)。
  5. 填寫 TNS Service Name、使用者、密碼,測試連線成功後確定。
  6. Access 會自動在 Oracle 建立同結構表並寫入資料。

Oracle → Access(匯出)

  1. Access → 外部資料 → 匯入/連結 → ODBC Database。
  2. 選擇已建立的 Oracle DSN(或建立新 DSN)。
  3. 選取欲匯入的 Oracle 表/檢視,確定即可。

ODBC DSN 建立步驟(Windows)

  1. 控制台 → 系統管理工具 → ODBC 資料來源 (32-bit / 64-bit),依 Office 位元選擇。
  2. 「系統 DSN」或「使用者 DSN」→ 新增 → Oracle in OraClientXX_home1。
  3. Data Source Name:自訂(如 ORA_PROD)。
  4. TNS Service Name:tnsnames.ora 中的別名(如 ORCL)。
  5. User ID:Oracle 使用者,測試連線。

tnsnames.ora 範例


ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
    )
  )

常見錯誤與解決

錯誤現象原因解決
「欄位名稱無效」/ 匯入失敗Access 中文欄位名含特殊字元或保留字預先改為英文、底線、無空格
找不到驅動程式未安裝 Oracle Client / 位元不匹配安裝對應位元 Oracle Client 或 Instant Client + ODBC 套件
資料截斷Access 欄位長度 < Oracle 實際資料匯入前在 Access 擴大欄位長度,或 Oracle 建表時指定足夠長度
自動編號欄位衝突Access AutoNumber 對應 Oracle Sequence/Identity匯入後重建 Sequence,或使用觸發器模擬

進階:大量資料建議改用

  • Oracle SQL Developer:內建遷移嚮導,支援 Access、SQL Server、MySQL → Oracle。
  • Data Pump (expdp/impdp):配合外部表或 DB Link,效能遠優於 ODBC。
  • SQL*Loader:將 Access 匯出 CSV,再用 SQL*Loader 直載。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved