一 ODBC(Open Database Connectivity,開放數(shù)據(jù)庫互連)是微軟公司開放服務(wù)結(jié)構(gòu)(WOSA,Windows Open Services Architecture)中有關(guān)數(shù)據(jù)庫的一個組成部分,它建立了一組規(guī)范,并提供了一組對數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)API(應(yīng)用程序編程接口)。這些API利用SQL來完成其大部分任務(wù)。ODBC本身也提供了對SQL語言的支持,用戶可以直接將SQL語句送給ODBC。
二 DAO:數(shù)據(jù)訪問對象是用來顯露了Microsoft Jet數(shù)據(jù)庫引擎(最早是給MicrosoftAccess 所使用,現(xiàn)在已經(jīng)支持其它數(shù)據(jù)庫),并允許開發(fā)者通過ODBC直接連接到其他數(shù)據(jù)庫一樣,直接連接到 Access 表。DAO 最適用于單系統(tǒng)應(yīng)用程序或在小范圍本地分布使用。其內(nèi)部已經(jīng)對Jet數(shù)據(jù)庫的訪問進行了加速優(yōu)化,而且其使用起來也是很方便的。所以如果數(shù)據(jù)庫是Access數(shù)據(jù)庫且是本地使用的話,建議使用這種訪問方式。
三 RDO(Remote Data Objects)遠程數(shù)據(jù)對象是一個到ODBC的、面向?qū)ο蟮臄?shù)據(jù)訪問接口,它同易于使用的DAO style組合在一起,提供了一個接口,形式上展示出所有ODBC的底層功能和靈活性。盡管RDO在很好地訪問Jet或ISAM數(shù)據(jù)庫方面受到限制,而且它只能通過現(xiàn)存的ODBC驅(qū)動程序來訪問關(guān)系數(shù)據(jù)庫。但是,RDO已被證明是許多SQL Server、Oracle 以及其他大型關(guān)系數(shù)據(jù)庫開發(fā)者經(jīng)常選用的最佳接口。RDO提供了用來訪問存儲過程和復(fù)雜結(jié)果集的更多和更復(fù)雜的對象、屬性,以及方法。
四 OLE DB 是 Microsoft 的一個戰(zhàn)略性系統(tǒng)級編程接口,用于管理整個組織內(nèi)的數(shù)據(jù)。OLE DB 是建立在 ODBC 功能之上的一個開放規(guī)范。ODBC 是為訪問關(guān)系型數(shù)據(jù)庫而專門開發(fā)的,OLE DB 則用于訪問關(guān)系型和非關(guān)系型信息源,例如主機 ISAM/VSAM 和層次數(shù)據(jù)庫,電子郵件和文件系統(tǒng)存儲,文本、圖形和地理數(shù)據(jù)以及自定義業(yè)務(wù)對象。OLE DB 定義了一組 COM 接口,對各種數(shù)據(jù)庫管理系統(tǒng)服務(wù)進行封裝,并允許創(chuàng)建軟件組件,實現(xiàn)這些服務(wù)。OLE DB 組件包括數(shù)據(jù)提供程序(包含和表現(xiàn)數(shù)據(jù))、數(shù)據(jù)使用者(使用數(shù)據(jù))和服務(wù)組件(處理和傳送數(shù)據(jù),例如,查詢處理器和游標(biāo)引擎)。OLE DB 接口有助于平滑地集成組件,這樣,OLE DB 組件廠商就可以快速地向市場提供高質(zhì)量 OLE DB 組件。此外,OLE DB 包含了一個連接 ODBC 的“橋梁”,對現(xiàn)用的各種 ODBC 關(guān)系型數(shù)據(jù)庫驅(qū)動程序提供一貫的支持。
五 ADO(ActiveXData Object)是DAO/RDO的后繼產(chǎn)物。ADO2.0在功能上與RDO更相似,而且一般來說,在這兩種模型之間有一種相似的映射關(guān)系。ADO"擴展"了DAO和RDO 所使用的對象模型,這意味著它包含較少的對象、更多的屬性、方法(和參數(shù)),以及事件。 作為最新的數(shù)據(jù)庫訪問模式,ADO的使用也是簡單易用,所以微軟已經(jīng)明確表示今后把重點放在ADO上,對DAO/RDO不再作升級,所以ADO已經(jīng)成為了當(dāng)前數(shù)據(jù)庫開發(fā)的主流。ADO涉及的數(shù)據(jù)存儲有DSN(數(shù)據(jù)源名稱)、ODBC(開放式數(shù)據(jù)連接)以及OLEDB三種方式