萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

在 VC、Delphi 等桌面應用中連接 MySQL 的兩種主流方案

前言

在非 Web 環境(如傳統桌面應用程式)中使用 MySQL 資料庫,是許多開發者常遇到的需求。主要有兩種實現路徑:直接調用 MySQL 官方提供的 C API 函式庫,或是透過 ODBC 驅動程式(MyODBC)進行連接。兩者各有優劣,選型需視專案需求與團隊技術棧而定。

方案一:直接調用 MySQL C API(libmysql)

這是許多知名 MySQL 客戶端工具(如早期的 WinMySQLAdmin)的底層實現方式。只要開發工具支援呼叫第三方動態連結庫(DLL),如 Visual C++、Borland C++ Builder、Delphi、Visual Basic 等,均可採用此法。

優點

  • 效能極高,直接與 MySQL 伺服器通訊,無中間層開銷。
  • 功能完整,可存取 MySQL 所有底層特性。

缺點

  • 學習曲線陡峭:開發者必須熟悉一整套 MySQL C API 函式集(連線、查詢、結果集處理、錯誤處理等),對初學者不友善。
  • 平台限制:屬於非 COM 元件,無法直接用於 ASP、VBScript 等腳本環境。
  • 維護成本:需自行管理連線池、異常處理、資源釋放等底層細節。

方案二:使用 MyODBC 驅動程式(推薦)

透過標準 ODBC 介面連接,屬於微軟通用資料存取架構(MDAC/ADO)體系,相容性極佳。

獲取驅動

可從 MySQL 官網 下載。有兩種封裝:

  1. 完整安裝包:體積較大,包含安裝精靈、文檔、範例等。適合新手,安裝過程會自動註冊 ODBC 驅動、建立系統 DSN。
  2. 單獨 DLL 檔案:僅 myodbc.dll(約數百 KB),適合精簡部署,但需手動註冊。

手動註冊 MyODBC 步驟(以單獨 DLL 為例)

  1. 將 myodbc.dll 複製到系統目錄:
    • Windows 9x/Me:C:\Windows\System
    • Windows NT/2000/XP/2003:C:\WinNT\System32 或 C:\Windows\System32
  2. 建立註冊表檔(myodbc.reg),內容如下(以 Win2K/XP 為例,Win9x 首行改為 REGEDIT4):
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"="03.51"
"ConnectFunctions"="YYY"
"APILevel"="1"
"CpTimeout"="120"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers]
"MySQL ODBC 3.51 Driver"="installed"
  1. 雙擊執行 .reg 檔匯入註冊表。
  2. 開啟「控制台」→「系統管理工具」→「資料來源 (ODBC)」,在「系統 DSN」頁籤新增資料來源,選擇 "MySQL ODBC 3.51 Driver",填入伺服器 IP、連接埠、資料庫名、帳號密碼即可測試連線。

總結建議

  • 桌面應用(VB/VC/Delphi/C#):優先使用 ADO + MyODBC,開發效率高、維護容易、支援斷點續傳等高階功能。
  • 極致效能/嵌入式場景:可考慮直接封裝 libmysql.dll,但需投入較多底層開發工作量。
  • Web 應用(ASP/PHP/ASP.NET):請直接使用各語言原生擴充模組(如 PHP mysqli/PDO、ASP.NET MySqlConnector),勿嘗試 ODBC 橋接。
copyright © 萬盛學電腦網 all rights reserved