MDAC、DAO、ADO、OLE DB、ODBC之間的關係

MDAC、DAO、ADO、OLE DB、ODBC之間的關係

 

MDAC(Microsoft Data Access Components)是微軟數據庫訪問組件,Netpise和許多利用數據庫的軟件都需要操作系統安裝MDAC。很多用戶的操作系統中已經存在了MDAC,有些是操作系統內置的、有些是其它應用程序安裝的。

在 MDAC 中有三種主要技術:
  (1)ActiveX 數據對象 (ADO): 是一個高級的、易於使用的與 OLE DB 的接口。
  (2)OLE DB: 是一個低級的、高性能的接口,用來實現與各種數據存儲的連接。ADO 和 OLE DB 均可處理關係(表格)和非關係(分級或流)數據。
  (3)開放式數據庫互連 (ODBC) 是另一個專門爲關係數據存儲設計的低級的、高性能的接口。

數據訪問方式所走過的幾個階段:

ODBC – (Open Database Connectivity)是第一個使用SQL訪問不同關係數據庫的數據訪問技術。使用ODBC應用程序能夠通過單一的命令操縱不同的數據庫,而開發人員需要做的僅僅只是針對不同的應用加入相應的ODBC驅動。
DAO - (Data Access Objects)不像ODBC那樣是面向C/C++程序員的,它是微軟提供給Visual Basic開發人員的一種簡單的數據訪問方法,用於操縱Access數據庫。

RDO – 在使用DAO訪問不同的關係型數據庫的時候,Jet引擎不得不在DAO和ODBC之間進行命令的轉化,導致了性能的下降,而RDO(Remote Data Objects)的出現就順理成章了。

OLE DB – 隨着越來越多的數據以非關係型格式存儲,需要一種新的架構來提供這種應用和數據源之間的無縫連接,基於COM(Component Object Model)的OLE DB應運而生了。

ADO – 基於OLE DB之上的ADO更簡單、更高級,是微軟技術發展的趨勢。

給你個圖:

 

當使用應用程序時,應用程序首先通過使用ODBC API與驅動管理器進行通信,ODBC API由一組ODBC函數調用組成,通過API調用ODBC函數提交SQL請求,然後,驅動管理器通過分析ODBC函數並判斷數據源的類型,並配置正確的驅動器,並把ODBC函數調用傳遞給驅動器,最後,驅動器處理ODBC函數調用,把SQL請求發送給數據源,數據源執行相應操作後,驅動器返回執行結果,管理器再吧執行結果返回給應用程序。

 

OLE DBObject Link and Embedding Database,對象連接與嵌套數據庫)是訪問數據庫的另一個統一的接口標準,它建立在ODBC基礎之上,不僅能夠提供傳統的數據庫訪問,並且能夠訪問關係型數據庫和非關係型數據庫。

 

OLE DB其本質就是一個封裝數據庫訪問的一系列COM接口,使用COM接口不僅能夠減少應用程序和數據庫之間的通信和交互,也能夠極大的提升數據庫的性能,讓數據庫的訪問和操作更加便捷。


 

 

來源:http://blog.pfan.cn/edwardguo/50825.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章