ODBC

維基百科,自由的百科全書
前往: 導覽搜尋

ODBC(Open Database Connectivity,開放資料庫互連)提供了一種標準的API應用程式編程介面)方法來存取資料庫管理系統(DBMS)。這些API利用SQL來完成其大部分任務。ODBC本身也提供了對SQL語言的支援,用戶可以直接將SQL語句送給ODBC。ODBC的設計者們努力使它具有最大的獨立性和開放性:與具體的程式語言無關,與具體的資料庫系統無關,與具體的作業系統無關。

歷史[編輯]

在ODBC誕生之前,如果要開發資料庫應用程式,則必須要使用資料庫廠商隨資料庫產品一同發行的一些工具集來存取資料庫,或者在程式中使用嵌入式SQL來存取資料庫。當時,對於存取資料庫的方法,缺乏一個基於C語言的統一編程介面。在這種背景下,微軟於1992年發表了ODBC。之後,X/Open組織以及ISO標準化組織基於ODBC 3.0的規範,進一步進行了標準化,於1995年發表了SQL/CLI標準。該標準已經成為了SQL標準的一部分。

版本歷史:

  • ODBC 1.0: 發表於1992年9月
  • ODBC 2.0: 發表於1994年
  • ODBC 3.0: 發表於1995年
  • ODBC 3.5: 發表於1997年
  • ODBC 3.8: 發表於2009年,和 Windows 7一同發表[1]

實現[編輯]

ODBC的運用形態通常是由應用程式經過一個稱之為ODBC管理器的工具,間接呼叫ODBC驅動程式,從而存取對應的資料庫。對於用戶的應用程式而言,ODBC驅動程式是相對不可見的。用戶只需要在ODBC管理器中配置相應的資料庫的資料來源資訊,並登入相應的ODBC驅動程式即可。

各個資料庫廠商通常都為自己的資料庫實現了ODBC驅動程式。從Oracle,DB2,SQL Server到微軟的Access資料庫,都實現了面向各自資料庫產品的資料驅動程式。

而對於ODBC管理器,目前主要存在以下幾種實現:

Microsoft ODBC
微軟提供的一個實現,目前在大部分Windows系統上可以找到它。
unixODBC
unixODBC計畫為非Windows作業系統(如各版本的Linux, Unix以及Mac OS)提供的一個實現。unixODBC的實現涵蓋了ODBC 3.0中的所有API規範,並且提供了一個類似於Microsoft ODBC那樣的GUI形式的配置介面供用戶進行資料來源的配置。unixODBC的代碼在GPL協定下公開,目前該計畫是由Easysoft的Nick Gorham進行管理。unixODBC現在已經是很多Linux發行版的標準安裝模式下的一個必要元件。
iODBC
iODBC計畫(Independent Open DataBase Connectivity)的目標是提供一個平台無關的實現,該計畫目前由Openlink Software進行管理。其代碼是在LGPL協定以及BSD協定下發行。蘋果公司從Mac OS X v10.2時代開始,便將iODBC繫結至Mac OS作業系統中。

相關[編輯]

  • ADO(ActiveX Data Objects)
  • MDAC(Microsoft Data Access Components)
  • JDBC(Java Database Connectivity)

外部連結[編輯]

  1. ^ What's New in ODBC 3.8. Microsoft. [2010-01-13]. "Windows 7 includes an updated version of ODBC, ODBC 3.8." 
資料庫管理系統(DBMS) (檢視 · 討論 · 編輯)

概念
資料庫 · 資料模型 · 資料庫儲存結構英語Database storage structures · 關聯 (資料庫) · 關聯模型 · 分布式資料庫 · ACID ( 原子性英語Atomicity (database systems) · 一致性 · 隔離性 · 永續性英語Durability (database systems) ) · Null值
關聯式資料庫 · 關聯模型 · 資料庫正規化 · 資料庫完整性 · 實體完整性 · 參照完整性英語Referential integrity · 關聯式資料庫管理系統 
主鍵 · 外來鍵 · 代理鍵 · 超鍵 · 候選鍵 

資料庫元件
觸發器 · 檢視 · 資料庫表 · 指標 (資料庫) · 事務日誌英語Transaction log · 資料庫事務 · 並行控制 · 樂觀鎖 · 悲觀鎖 · 資料庫索引 
儲存程式 · 資料庫分割

SQL
分類: 資料查詢語言 (DQL) - 資料定義語言 (DDL) - 資料操縱語言 (DML) - 資料控制語言 (DCL)
指令:SELECT · INSERT · UPDATE · MERGE · DELETE · JOIN · UNION · CREATE · DROP · Begin work · COMMIT · ROLLBACK · TRUNCATE · ALTER
安全: SQL資料隱碼攻擊 · 參數化查詢

資料庫管理系統的實現

實現型別
關聯式資料庫 · 檔案型資料庫 · Deductive · 維度化資料庫 · 階層式 · 圖形資料庫 · 物件資料庫 · 物件關聯式資料庫 · Temporal · XML資料庫

資料庫產品
物件型 (對比) · 關聯型 (對比)

資料庫元件
資料查詢語言 · 查詢最佳化器 · 查詢計畫 · 嵌入式SQL · ODBC · JDBC · OLE DB