共用方式為


什麼是 ODBC?

運算世界中存在許多關於 ODBC 的誤解。 對終端使用者來說,它是 Microsoft Windows 控制台中的圖示。 對於應用程式設計人員來說,它是包含資料存取常式的程式庫。 對其他許多人來說,它是所有資料庫存取問題的答案。

首先,ODBC 是資料庫 API 的規格。 此 API 與任何 DBMS 或作業系統都無關;雖然此手冊使用 C 語言,但 ODBC API 與語言無關。 ODBC API 以 Open Group 和 ISO/IEC 的 CLI 規格為基礎。 ODBC 3.x 完全實作了這兩個規格 (舊版 ODBC 以這些規格的初步版本為基礎,但未完全實作這些規格),並新增了開發人員在開發螢幕型資料庫應用程式時常用的功能,例如可捲動的資料指標。

ODBC API 中的函式是由 DBMS 特有驅動程式的開發人員所實作。 應用程式會以與 DBMS 無關的方式呼叫這些驅動程式中的函式來存取資料。 驅動程式管理員負責管理應用程式和驅動程式之間的通訊。

雖然 Microsoft 已為執行 Microsoft Windows 95 和更新版本的電腦提供了驅動程式管理員,撰寫了數個 ODBC 驅動程式,並從其部分應用程式呼叫 ODBC 函式,但任何人都可以自己撰寫 ODBC 應用程式和驅動程式。 事實上,現今絕大多數可用的 ODBC 應用程式和驅動程式都是由 Microsoft 以外的公司所撰寫的。 此外,ODBC 驅動程式和應用程式存在於 macOS 和各種 UNIX 平臺上。

為了協助應用程式和驅動程式開發人員,Microsoft 針對執行 Windows 95 和更新版本的電腦提供 ODBC 軟體開發套件 (SDK),以提供驅動程式管理員、安裝程式 DLL、測試工具和應用程式範例。 Microsoft 已和 Visirated Software 合作,將這些 SDK 移植到 Macintosh 和各種 UNIX 平台上。

請務必要瞭解,ODBC 的設計是為了公開資料庫功能,而非予以補充。 因此,應用程式撰寫者不應該期望 ODBC 能將簡易的資料庫突然變成功能完備的關聯式資料庫引擎。 驅動程式編寫器也無法實作基礎資料庫中找不到的功能。 有一個例外狀況是,開發人員若要撰寫能直接存取檔案資料 (如 Xbase 檔案中的資料) 的驅動程式,則需要撰寫至少能支援最低 SQL 功能的資料庫引擎。 另一個例外狀況則是 Windows SDK 的 ODBC 元件 (先前包含在 Microsoft Data Access Components (MDAC) SDK 中) 提供資料指標程式庫,為實作特定功能的驅動程式模擬可捲動的資料指標。

使用 ODBC 的應用程式會負責所有跨資料庫功能。 舉例來說,ODBC 不是異質聯結引擎,也不是分散式交易處理器。 不過,因為它與 DBMS 無關,因此可用來建置這種跨資料庫工具。