- 相關(guān)推薦
有關(guān)ADO與ADO.NET的區別與介紹
1. ADO與ADO.NET簡(jiǎn)介
ADO與ADO.NET既有相似也有區別,他們都能夠編寫(xiě)對數據庫服務(wù)器中的數據進(jìn)行訪(fǎng)問(wèn)和操作的應用程序,并且易于使用、高速度、低內存支出和占用磁盤(pán)空間較少,支持用于建立基于客戶(hù)端/服務(wù)器和 Web 的應用程序的主要功能。但是ADO使用OLE DB接口并基于微軟的COM技術(shù),而ADO.NET擁有自己的ADO.NET接口并且基于微軟的.NET體系架構。眾所周知.NET體系不同于COM體系,ADO.NET接口也就完全不同于A(yíng)DO和OLE DB接口,這也就是說(shuō)ADO.NET和ADO是兩種數據訪(fǎng)問(wèn)方式。
2. 數據訪(fǎng)問(wèn)方式的歷史
下面簡(jiǎn)單的回顧一下微軟的數據訪(fǎng)問(wèn)方式所走過(guò)的幾個(gè)階段。
ODBC – (Open Database Connectivity)是第一個(gè)使用SQL訪(fǎng)問(wèn)不同關(guān)系數據庫的數據訪(fǎng)問(wèn)技術(shù)。使用ODBC應用程序能夠通過(guò)單一的命令操縱不同的數據庫,而開(kāi)發(fā)人員需要做的僅僅只是針對不同的應用加入相應的ODBC驅動(dòng)。
DAO - (Data Access Objects)不像ODBC那樣是面向C/C++程序員的,它是微軟提供給Visual Basic開(kāi)發(fā)人員的一種簡(jiǎn)單的數據訪(fǎng)問(wèn)方法,用于操縱Access數據庫。
RDO – 在使用DAO訪(fǎng)問(wèn)不同的關(guān)系型數據庫的時(shí)候,Jet引擎不得不在DAO和ODBC之間進(jìn)行命令的轉化,導致了性能的下降,而RDO(Remote Data Objects)的出現就順理成章了。
OLE DB – 隨著(zhù)越來(lái)越多的數據以非關(guān)系型格式存儲,需要一種新的架構來(lái)提供這種應用和數據源之間的無(wú)縫連接,基于COM(Component Object Model)的OLE DB應運而生了。
ADO – 基于OLE DB之上的ADO更簡(jiǎn)單、更高級、更適合Visual Basic程序員,同時(shí)消除了OLE DB的多種弊端,取而代之是微軟技術(shù)發(fā)展的趨勢。
ADO架構圖表
3. ADO與ADO.NET對照
在開(kāi)始設計.NET體系架構時(shí),微軟就決定重新設計數據訪(fǎng)問(wèn)模型,以便能夠完全的基于XML和離線(xiàn)計算模型。兩者的區別主要有:
ADO以Recordset存儲,而ADO.NET則以DataSet表示。Recordset看起來(lái)更像單表,如果讓Recordset以多表的方式表示就必須在SQL中進(jìn)行多表連接。反之,DataSet可以是多個(gè)表的集合。ADO 的運作是一種在線(xiàn)方式,這意味著(zhù)不論是瀏覽或更新數據都必須是實(shí)時(shí)的。ADO.NET則使用離線(xiàn)方式,在訪(fǎng)問(wèn)數據的時(shí)候ADO.NET會(huì )利用XML制作數據的一份幅本,ADO.NET的數據庫連接也只有在這段時(shí)間需要在線(xiàn)。
由于A(yíng)DO使用COM技術(shù),這就要求所使用的數據類(lèi)型必須符合COM規范,而ADO.NET基于XML格式,數據類(lèi)型更為豐富并且不需要再做COM編排導致的數據類(lèi)型轉換,從而提高了整體性能。
下面就是以圖表的形式描繪了ADO.NET體系
ADO.NET架構圖表
4. 小結
ADO.NET為.NET構架提供了優(yōu)化的數據訪(fǎng)問(wèn)模型,和基于COM的ADO是完全兩樣的數據訪(fǎng)問(wèn)方式。
【ADO與ADO.NET的區別與介紹】相關(guān)文章:
vc++中的ADO的應用03-29
GMAT和GRE介紹及區別03-22
英語(yǔ)同源副詞的區別介紹02-28
英語(yǔ)同源形容詞的區別介紹02-28
美國社區大學(xué)和國內專(zhuān)科的區別介紹01-18
速記與速錄區別03-18
咖啡口味的區別02-21
美容與化妝的區別03-21