ODBC 是一種底層的訪問技術(shù),因此,ODBC API 可以是客戶應(yīng)用程序能從底層設(shè)置和控制數(shù)據(jù)庫,完成一些高級數(shù)據(jù)庫技術(shù)無法完成的功能;但不足之處由于ODBC只能用于關(guān)系型數(shù)據(jù)庫,使得利用ODBC很難訪問對象數(shù)據(jù)庫及其他非關(guān)系數(shù)據(jù)庫。
DAO 提供了一種通過程序代碼創(chuàng)建和操縱數(shù)據(jù)庫的機(jī)制。最大特點(diǎn)是對MICROSOFT JET數(shù)據(jù)庫的操作很方便,而且是操作JET數(shù)據(jù)庫時性能最好的技術(shù)接口之一。并且它并不只能用于訪問
這種數(shù)據(jù)庫,事實(shí)上,通過DAO技術(shù)可以訪問從文本文件到大型后臺數(shù)據(jù)庫等多種數(shù)據(jù)格式。
ADO 是基于OLE DB的訪問接口,它是面向?qū)ο蟮腛LE DB技術(shù),繼承了OLE DB的優(yōu)點(diǎn)。屬于數(shù)據(jù)庫訪問的高層接口。
--------------------------------------------------------------------------------
訪問接口 易用性 運(yùn)行性能 可擴(kuò)展性 突出特點(diǎn) 能否訪問非關(guān)系數(shù)據(jù)源 技術(shù)層次
--------------------------------------------------------------------------------
ODBC 差 較高 差 可進(jìn)行底層控制 否 底層
--------------------------------------------------------------------------------
MFC ODBC 好 一般 通用標(biāo)準(zhǔn),應(yīng)用廣泛 否 高層
--------------------------------------------------------------------------------
MFC DAO 好 較高 一般 訪問JET性能最好 能 高層
--------------------------------------------------------------------------------
OLE DB 較難 高 好 可訪問非關(guān)系DB 能 底層
--------------------------------------------------------------------------------
ADO 最好 高 好 可訪問非關(guān)系,有多種編程接口 能 高層
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
編者注:
ODBC(Open DataBase Connectivity)開放數(shù)據(jù)庫互聯(lián)。是由微軟主導(dǎo)的數(shù)據(jù)庫鏈接標(biāo)準(zhǔn)。
MFC(Microsoft Foundation Class)微軟基礎(chǔ)類。MFC ODBC是對ODBC的封裝。
DAO(Data Access Object)數(shù)據(jù)訪問對象。不提供遠(yuǎn)程訪問功能。
RDO(Remote Data Object)遠(yuǎn)程數(shù)據(jù)對象。速度快,支持SQL Server存儲過程,同DAO一樣是發(fā)展很多年了的技術(shù)。
OLE-DB(Object Linking and Embedding DataBase)對象鏈接和嵌入數(shù)據(jù)庫。它依賴于COM和提供OLE DB提供者的廠商而非ODBC使用的SQL。
ADO(ActiveX Data Object)ActiveX數(shù)據(jù)對象?;贠LE-DB建立連接的局部和遠(yuǎn)程數(shù)據(jù)庫訪問技術(shù)。同OLE-DB一樣要“年輕”些。
使用中,我們一般用OLE-DB和ADO替代DAO和RDO。