ODBC、OLEDB、ADO的区别和联系
?????? 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ù)庫,事實上,通過DAO技術(shù)可以訪問從文本文件到大型后臺數(shù)據(jù)庫等多種數(shù)據(jù)格式。
????
?????? ADO 是基于OLE DB的訪問接口,它是面向?qū)ο蟮?/span>OLE DB技術(shù),繼承了OLE DB的優(yōu)點(diǎn)。屬于數(shù)據(jù)庫訪問的高層接口。
????
?????? OLEDB和ODBC都是底層系統(tǒng),都可直接對數(shù)據(jù)庫進(jìn)行訪問,區(qū)別在于OLEDB既可以訪問關(guān)系型數(shù)據(jù)庫,也可訪問非關(guān)系型數(shù)據(jù)庫,而ODBC只能訪問關(guān)系型數(shù)據(jù)庫。雖然對不同數(shù)據(jù)庫的操作方法不一樣,但統(tǒng)一了通向不同的數(shù)據(jù)源的底層應(yīng)用程序接口。
?????? ADO和OLEDB之間的關(guān)系為:
?????? OLEDB是一種底層數(shù)據(jù)訪問界面接口。是用于第三方驅(qū)動程序商家開發(fā)輸出數(shù)據(jù)源到ADO-技術(shù)的應(yīng)用程序或用于C++的開發(fā)者開發(fā)定制的數(shù)據(jù)庫組件。
??????? ADO 是基于OLE DB的訪問接口,它是面向?qū)ο蟮?/span>OLE DB技術(shù),繼承了OLE DB的優(yōu)點(diǎn)。屬于數(shù)據(jù)庫訪問的高層接口。
??????? OLE DB 是用于訪問數(shù)據(jù)的重要的系統(tǒng)級編程接口,它是 ADO 的基礎(chǔ)技術(shù),同時還是 ADO.NET 的數(shù)據(jù)源。
??????? 可以這么說,ADO為OLEDB提供高層應(yīng)用API函數(shù)。
下面是幾種性能的對比:
注釋:
?????? ODBC(Open DataBase Connectivity)開放數(shù)據(jù)庫互聯(lián)。是由微軟主導(dǎo)的數(shù)據(jù)庫鏈接標(biāo)準(zhǔn)。
?????? DAO(Data Access Object)數(shù)據(jù)訪問對象。不提供遠(yuǎn)程訪問功能。
?????? ADO(ActiveX Data Object)ActiveX數(shù)據(jù)對象?;?/span>OLE-DB建立連接的局部和遠(yuǎn)程數(shù)據(jù)庫訪問技術(shù)。同OLE-DB一樣要“年輕”些。使用中,我們一般用OLE-DB和ADO替代DAO和RDO。
??? OLE-DB(Object Linking and Embedding DataBase)對象鏈接和嵌入數(shù)據(jù)庫。它依賴于COM和提供OLE DB提供者的廠商而非ODBC使用的SQL。
??????? MFC(Microsoft Foundation Class)微軟基礎(chǔ)類。MFC ODBC是對ODBC的封裝。
??????? RDO(Remote Data Object)遠(yuǎn)程數(shù)據(jù)對象。速度快,支持SQL Server存儲過程,同DAO一樣是發(fā)展很多年了的技術(shù)。來源:http://www.freeeim.com/
總結(jié)
以上是生活随笔為你收集整理的ODBC、OLEDB、ADO的区别和联系的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# Enum,Int,String的互
- 下一篇: 即使该链接出现到C++,用户又有多少的点