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

VC/Delphi 使用 MyODBC 驅動連接 MySQL:DLL 註冊與 DSN 配置全流程

     編輯:MySQL 資料庫相關知識

非 Web 應用(VC、Delphi、VB 等)連接 MySQL,主流方案是 MyODBC ODBC 驅動。本文詳述 myodbc.dll 手動註冊、註冊表導入、DSN 配置全流程,解決無安裝包環境下的部署難題。

兩種連接方案對比

方案優點缺點適用場景
MySQL C API (libmysql.dll)性能高、功能全、無中間層需熟悉 API、非 COM、難用於 ASPC/C++ 高性能客戶端
MyODBC (ODBC 標準)通用、支持 ADO/DAO、跨語言性能稍低、需 DSN 配置Delphi/VB/ASP/報表工具

MyODBC 手動部署(無安裝包)

1. 獲取核心文件

  • 官網下載 MyODBC 安裝包,解壓提取 myodbc.dll(或 myodbc3.dll)
  • 版本對應:MyODBC 3.51 對應 MySQL 4.1/5.0,5.x 對應 5.1+

2. 放置 DLL

# 32 位系統
C:\Windows\System32\myodbc.dll
# 64 位系統(32 位驅動)
C:\Windows\SysWOW64\myodbc.dll
# 64 位驅動
C:\Windows\System32\myodbc.dll

3. 註冊表導入(關鍵步驟)

創建 myodbc.reg:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\MySQL ODBC 5.3 Driver]
"Driver"="C:\\Windows\\System32\\myodbc.dll"
"Setup"="C:\\Windows\\System32\\myodbc.dll"
"APILevel"="1"
"ConnectFunctions"="YYY"
"DriverODBCVer"="03.51"
"FileUsage"="0"
"SQLLevel"="1"
"UsageCount"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers]
"MySQL ODBC 5.3 Driver"="Installed"
  • 雙擊導入註冊表
  • 驗證:控制面板 → 管理工具 → ODBC 數據源 → 驅動程序頁籤 → 應見 "MySQL ODBC 5.3 Driver"

4. 創建系統 DSN

ODBC 數據源管理器 → 系統 DSN → 添加 → 選 "MySQL ODBC 5.3 Driver" → 配置:

字段示例值
Data Source NameMyApp_MySQL
DescriptionMyApp Production DB
Server192.168.1.100
Port3306
Userapp_user
Password********
Databasemyapp_db
Charsetutf8mb4
Initial StatementSET NAMES utf8mb4

Delphi 代碼調用示例

uses ADODB, DB;

procedure TForm1.ConnectMySQL;
var
  Conn: TADOConnection;
begin
  Conn := TADOConnection.Create(Self);
  Conn.ConnectionString := 
    'Provider=MSDASQL.1;' +
    'Persist Security Info=False;' +
    'Data Source=MyApp_MySQL;' +  // 系統 DSN 名
    'Initial Catalog=myapp_db;';
  Conn.LoginPrompt := False;
  Conn.Connected := True;
  // 現在可以使用 TADOQuery/TADOTable 操作
end;

常見問題排查

現代化建議

  • 新項目優先考慮原生驅動:MySQL Connector/NET (C#)、Connector/J (Java)、Connector/Python、Connector/C++
  • ODBC 仍是異構系統集成(如 PowerBI、Tableau、Excel)的標準介面
  • MyODBC 8.0+ 支持 TLS 1.2、認證插件、連接池等新特性

手動部署 MyODBC 核心在於「DLL 就位 + 註冊表驅動註冊 + DSN 配置」,三步驟缺一不可。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
現象原因解決
找不到驅動程序DLL 路徑錯/註冊表未導入/位數不匹配檢查 DLL 位置、重新導入 .reg、確認 32/64 位一致
連接失敗 2003主機/端口/防火牆/skip-networkingtelnet 測試端口、檢查 bind-address
中文亂碼字符集未指定DSN Charset=utf8mb4 + Initial Statement=SET NAMES utf8mb4
ASP 報錯 80004005MDAC 版本/權限/連接字符串升級 MDAC 2.8+、檢查 IUSR 權限