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

MySQL ODBC 驅動程式(MyODBC)手動部署與註冊完整步驟

     編輯:關於C++

在非 Web 環境(桌面應用、服務程式)或傳統 ASP 應用中連線 MySQL,最通用的方式是透過 ODBC 驅動程式。本文記錄 MyODBC 3.51/5.x 僅部署核心 myodbc.dll(避免下載完整安裝包)並以 .reg 檔手動註冊系統 DSN 的完整步驟,適用於 Windows 2000/XP/2003 等舊版環境維護場景。

一、取得核心檔案

  • 官網下載完整安裝包(含 myodbc.dll、myodbc3S.dll、myodbc3D.dll 等)
  • 或僅提取 myodbc.dll(約 300–500 KB),複製至系統目錄:
    • Windows 9x/Me:C:\Windows\System
    • Windows NT/2000/XP/2003:C:\WinNT\System32 或 C:\Windows\System32

二、註冊表匯入檔(myodbc.reg)

使用純文字編輯器建立,儲存為 .reg,雙擊匯入:

Windows 2000 / XP / 2003(Registry Editor Version 5.00)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\MySQL ODBC 3.51 Driver]
"UsageCount"=dword:00000002
"Driver"="C:\\Windows\\System32\\myodbc.dll"
"Setup"="C:\\Windows\\System32\\myodbc.dll"
"SQLLevel"="1"
"FileUsage"="0"
"DriverODBCVer"="02.50"
"ConnectFunctions"="YYY"
"APILevel"="1"
"CpTimeout"="120"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers]
"MySQL ODBC 3.51 Driver"="installed"

Windows 9x / Me(Registry Editor Version 4.00)

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\MySQL ODBC 3.51 Driver]
"UsageCount"=dword:00000002
"Driver"="C:\\Windows\\System\\myodbc.dll"
"Setup"="C:\\Windows\\System\\myodbc.dll"
"SQLLevel"="1"
"FileUsage"="0"
"DriverODBCVer"="02.50"
"ConnectFunctions"="YYY"
"APILevel"="1"
"CpTimeout"="120"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers]
"MySQL ODBC 3.51 Driver"="installed"

關鍵值說明:

  • Driver/Setup:指向實際 myodbc.dll 完整路徑(雙反斜線轉義)
  • ConnectFunctions="YYY":支援 SQLConnect/SQLDriverConnect/SQLBrowseConnect
  • CpTimeout:連線池逾時秒數

三、建立系統 DSN(選擇性,亦可在程式碼用 DSN-less 連線字串)

匯入上述 .reg 後,於 控制台 → 系統管理工具 → 資料來源 (ODBC) → 系統 DSN → 新增 → 選擇 MySQL ODBC 3.51 Driver,填寫:

  • Data Source Name:自訂名稱(如 MyAppDB)
  • Server:127.0.0.1 或主機名
  • Port:3306
  • User / Password:資料庫帳號密碼
  • Database:預設資料庫名
  • Character Set:utf8 或 gbk

測試連線成功即可在程式中使用 DSN=MyAppDB 連線。

四、DSN-less 連線字串(免建立 DSN,適合綠色部署)

Driver={MySQL ODBC 3.51 Driver};Server=127.0.0.1;Port=3306;Database=mydb;User=root;Password=pwd;Option=3;Charset=utf8;

ADO 範例:

ADOConnection1.ConnectionString = 
    "Provider=MSDASQL.1;"
    "Driver={MySQL ODBC 3.51 Driver};"
    "Server=127.0.0.1;Port=3306;"
    "Database=mydb;User=root;Password=pwd;"
    "Option=3;Charset=utf8;";
ADOConnection1.Connected = true;

五、常見問題排查

六、總結

手動部署 myodbc.dll + 匯入 .reg 即可完成驅動程式註冊,搭配 DSN-less 連線字串實現零安裝綠色部署。現代專案建議改用 MySQL Connector/ODBC 8.0+ 或原生 MySQL Connector/C++、libmysql.dll 以獲得更好效能與 TLS 1.2 支援。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
現象可能原因解決
「找不到驅動程式」DLL 路徑錯誤或未註冊確認 Driver 值為實際絕對路徑,重新匯入 .reg
「架構不匹配」32 位元應用載入 64 位元驅動(或相反)下載對應位元數的 MyODBC;SysWOW64 vs System32 注意重導向
中文亂碼字元集未指定連線字串加 Charset=utf8;資料庫/表/欄位同步設定 utf8_general_ci
連線逾時防火牆/埠阻擋、MySQL bind-address 限制開放 3306、修改 my.cnf bind-address=0.0.0.0