首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> VC 教學

MySQL ODBC 驅動程式 (MyODBC) 安裝與配置完整指南 (Windows)

     編輯:VC 教學

兩種使用 MySQL 的方式

  1. 原生 C API:libmysql.dll,功能全、效能高,但需熟悉 API、不支援 ODBC/ADO 通用介面。
  2. ODBC 驅動 (MyODBC/Connector/ODBC):標準 ODBC 介面,**支援所有 ODBC 感知應用** (VB、VC、BCB、Delphi、ASP、PHP、Excel、Power BI 等),部署相對簡單。

取得 MyODBC

  • 官網:MySQL Connector/ODBC (現名)。
  • 選擇 **Windows (x86, 32-bit)** 或 **(x64, 64-bit)** MSI 安裝包。**務必與應用程式位數一致** (32-bit 應用需 32-bit 驅動,即使在 64-bit OS)。
  • 安裝精靈會自動註冊 ODBC 驅動、建立系統 DSN 範例。

手動註冊 (無安裝權限/綠色部署)

若無法執行 MSI,可手動註冊 myodbc.dll (或 myodbc5.dll, myodbc8w.dll):

  1. 將 DLL 複製至系統目錄:
    • 32-bit 系統 / 64-bit 系統上給 32-bit 應用用:C:\Windows\SysWOW64\
    • 64-bit 系統給 64-bit 應用用:C:\Windows\System32\
  2. 以管理員身分執行 regsvr32 myodbc.dll (部分版本無需此步)。
  3. 匯入以下登錄檔 (.reg) 註冊驅動描述 (依版本調整路徑):
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\MySQL ODBC 8.0 Unicode Driver]
"UsageCount"=dword:00000001
"Driver"="C:\\Windows\\System32\\myodbc8w.dll"
"Setup"="C:\\Windows\\System32\\myodbc8S.dll"
"APILevel"="1"
"ConnectFunctions"="YYY"
"DriverODBCVer"="03.80"
"FileUsage"="0"
"SQLLevel"="1"
"CPTimeout"="120"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers]
"MySQL ODBC 8.0 Unicode Driver"="Installed"

注意:64-bit 系統上 32-bit 驅動註冊在 HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ODBC\ODBCINST.INI\,建議用 odbcad32.exe (32-bit: C:\Windows\SysWOW64\odbcad32.exe) 圖形化管理。

建立系統 DSN (資料來源名稱)

  1. 開啟 odbcad32.exe (對應位數版本)。
  2. 「系統 DSN」頁籤 → 「新增」 → 選擇 MySQL ODBC 8.0 Unicode Driver。
  3. 填寫:
    • Data Source Name (DSN):自訂名稱 (如 MyAppDB)
    • Server:localhost 或 IP
    • Port:3306
    • User / Password:資料庫帳號密碼
    • Database:預設資料庫名
    • Charset:utf8mb4 (推薦)
  4. 「測試」成功 → 確定。

程式中使用 (ADO / BDE / 原生 ODBC API)

ADO 連接字串

// 使用 DSN
"Provider=MSDASQL;DSN=MyAppDB;"

// 或無 DSN (DSN-less)
"Provider=MSDASQL;Driver={MySQL ODBC 8.0 Unicode Driver};"
"Server=127.0.0.1;Port=3306;Database=testdb;User=root;Password=pwd;Option=3;Charset=utf8mb4;"

BCB/BDE 設定

  • TADOConnection / TADOQuery 直接用上述連接字串。
  • BDE 需建立 ODBC 別名 (Alias),在 BDE Administrator 中設定 Driver = MyODBC。

常見問題排查

現象原因與對策
「指定的驅動程式無法載入」位數不符 (32-bit 應用載 64-bit 驅動或反之)。用正確版 odbcad32.exe 檢查。
「Authentication plugin 'caching_sha2_password' not supportedMySQL 8.0+ 預設新插件,舊版驅動不支援。
① 升級 Connector/ODBC 8.0+
② 或建立用戶指定 mysql_native_password:
CREATE USER 'u'@'%' IDENTIFIED WITH mysql_native_password BY 'pwd';
中文亂碼連接字串加 Charset=utf8mb4,資料表/欄位亦設 utf8mb4。
連線逾時防火牆阻擋 3306、MySQL bind-address 設為 0.0.0.0、skip-name-resolve 避免 DNS 延遲。

總結

MyODBC (Connector/ODBC) 是 Windows 平台連接 MySQL 最通用、相容性最佳的橋樑。掌握「位數對齊、正確註冊、DSN/DSN-less 連接字串、字符集統一」四要素,即可在任何開發工具中穩定使用 MySQL。

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