當前位置:編程學習大全網 - 編程語言 - ADO是微軟基於COM的數據訪問組件,如何理解?

ADO是微軟基於COM的數據訪問組件,如何理解?

(1)微軟公司的ADO (ActiveX Data Objects) 是壹個用於存取數據源的COM組件。它提供了編程語言和統壹數據訪問方式OLE DB的壹個中間層。允許開發人員編寫訪問數據的代碼而不用關心數據庫是如何實現的,而只用關心到數據庫的連接。訪問數據庫的時候,關於SQL的知識不是必要的,但是特定數據庫支持的SQL命令仍可以通過ADO中的命令對象來執行。

ADO被設計來繼承微軟早期的數據訪問對象層,包括RDO (Remote Data Objects) 和DAO(Data Access Objects)。ADO在1996年冬被發布。

ADO包含壹些頂層的對象:

連接,代表到數據庫的連接

記錄集,代表數據庫記錄的壹個集合

命令,代表壹個SQL命令

記錄,代表數據的壹個集合

流,代表數據的順序集合

錯誤,代表數據庫訪問中產生的意外

字段,代表壹個數據庫字段

參數,代表壹個SQL參數

屬性,保存對象的信息

ADO組件的使用需要利用支持COM的高級語言,例如ASP中的VBScript或者Visual Basic,甚至Delphi,微軟的競爭對手Borland的壹個產品,現在也支持使用ADO來訪問數據庫。

在新的編程框架.NET Framework中, 微軟也提供了壹個面向Internet的版本的ADO,稱為ADO.NET。其對象模型和傳統ADO差別很大。 ADO是壹種面向對象的編程接口,微軟介紹說,與其同IBM和Oracle提倡的那樣,創建壹個統壹數據庫,不如提供壹個能夠訪問不同數據庫的統壹接口,這樣會更加實用壹些。為實現這壹目標,微軟在數據庫和微軟的OLE DB中提供了壹種“橋”程序,這種程序能夠提供對數據庫的連接。 開發人員在使用ADO時,其實就是在使用OLE DB,不過OLE DB更加接近底層。ADO的壹項屬性遠程數據服務,支持“數據倉庫”ActiveX 組件以及高效的客戶端緩存。作為ActiveX的壹部分,ADO也是COM組件的壹部分。ADO是由早期的微軟數據接口?遠程數據對象RDO演化而來的。RDO同微軟的ODBC壹同連接關系數據庫,不過不能連接非關系數據庫。

ADO向我們提供了壹個熟悉的,高層的對OLE DB的Automation封裝接口。對那些熟悉RDO的程序員來說,妳可以把OLE DB比作是ODBC驅動程序。如同RDO對象是ODBC驅動程序接口壹樣,ADO對象是OLE DB的接口;如同不同的數據庫系統需要它們自己的ODBC驅動程序壹樣,不同的數據源要求它們自己的OLE DB提供者(OLE DB provider)。目前,雖然OLE DB提供者比較少,但微軟正積極推廣該技術,並打算用OLE DB取代ODBC。

ADO向VB程序員提供了很多好處。包括易於使用,熟悉的界面,高速度以及較低的內存占用(已實現ADO2.0的Msado15.dll需要占用342K內存,比RDO的Msrdo20.dll的368K略小,大約是DAO3.5的Dao350.dll所占內存的60%)。同傳統的數據對象層次(DAO和RDO)不同,ADO可以獨立創建。因此妳可以只創建壹個"Connection"對象,但是可以有多個,獨立的"Recordset"對象來使用它。ADO針對客戶/服務器以及WEB應用程序作了優化。

-----------------------------------------------------------------------------------------------------------

ADO (ActiveX Data Objects,ActiveX數據對象)是Microsoft提出的應用程序接口(API)用以實現訪問關系或非關系數據庫中的數據。例如,如果您希望編寫應用程序從DB2或Oracle數據庫中向網頁提供數據,可以將ADO程序包括在作為活動服務器頁(ASP)的HTML文件中。當用戶從網站請求網頁時,返回的網頁也包括了數據中的相應數據,這些是由於使用了ADO代碼的結果。

象Microsoft的其它系統接口壹樣,ADO是面向對象的。它是Microsoft全局數據訪問(UDA)的壹部分,Microsoft認為與其自己創建壹個數據,不如利用UDA訪問已有的數據庫。為達到這壹目的,Microsoft和其它數據庫公司在它們的數據庫和Microsoft的OLE數據庫之間提供了壹個“橋”程序,OLE數據庫已經在使用ADO技術。ADO的壹個特征(稱為遠程數據服務)支持網頁中的數據相關的ActiveX控件和有效的客戶端緩沖。作為ActiveX的壹部分,ADO也是Microsoft的組件對象模式(COM)的壹部分,它的面向組件的框架用以將程序組裝在壹起。

ADO從原來的Microsoft數據接口遠程數據對象(RDO)而來。RDO與ODBC壹起工作訪問關系數據庫,但不能訪問如ISAM和VSAM的非關系數據庫。

ADO 是對當前微軟所支持的數據庫進行操作的最有效和最簡單直接的方法,它是壹種功能強大的數據訪問編程模式,從而使得大部分數據源可編程的屬性得以直接擴展到妳的Active Server 頁面上。可以使用ADO 去編寫緊湊簡明的腳本以便連接到 Open Database Connectivity (ODBC) 兼容的數據庫和 OLE DB 兼容的數據源,這樣 ASP 程序員就可以訪問任何與 ODBC 兼容的數據庫,包括 MS SQL SERVER、Access、 Oracle 等等。

比如,如果網站開發人員需要讓用戶通過訪問網頁來獲得存在於IBM DB2或者Oracle數據庫中的數據,那麽就可以在ASP頁面中包含ADO程序,用來連接數據庫。於是,當用戶在網站上瀏覽網頁時,返回的網頁將會包含從數據庫中獲取的數據。而這些數據都是由ADO代碼做到的。

ADO是壹種面向對象的編程接口,微軟介紹說,與其同IBM和Oracle提倡的那樣,創建壹個統壹數據庫,不如提供壹個能夠訪問不同數據庫的統壹接口,這樣會更加實用壹些。為實現這壹目標,微軟在數據庫和微軟的OLE DB中提供了壹種“橋”程序,這種程序能夠提供對數據庫的連接。 開發人員在使用ADO時,其實就是在使用OLE DB,不過OLE DB更加接近底層。ADO的壹項屬性?遠程數據服務,支持“數據倉庫”ActiveX 組件以及高效的客戶端緩存。作為ActiveX的壹部分,ADO也是COM組件的壹部分。ADO是由早期的微軟數據接口?遠程數據對象RDO演化而來的。RDO同微軟的ODBC壹同連接關系數據庫,不過不能連接非關系數據庫。

ADO向我們提供了壹個熟悉的,高層的對OLE DB的Automation封裝接口。對那些熟悉RDO的程序員來說,妳可以把OLE DB比作是ODBC驅動程序。如同RDO對象是ODBC驅動程序接口壹樣,ADO對象是OLE DB的接口;如同不同的數據庫系統需要它們自己的ODBC驅動程序壹樣,不同的數據源要求它們自己的OLE DB提供者(OLE DB provider)。目前,雖然OLE DB提供者比較少,但微軟正積極推廣該技術,並打算用OLE DB取代ODBC。

ADO向VB程序員提供了很多好處。包括易於使用,熟悉的界面,高速度以及較低的內存占用(已實現ADO2.0的Msado15.dll需要占用342K內存,比RDO的Msrdo20.dll的368K略小,大約是DAO3.5 的Dao350.dll所占內存的60%)。同傳統的數據對象層次(DAO和RDO)不同,ADO可以獨立創建。因此妳可以只創建壹個 "Connection"對象,但是可以有多個,獨立的"Recordset"對象來使用它。ADO針對客戶/服務器以及WEB應用程序作了優化。

什麽是COM組件

COM是Component Object Model (組件對象模型)的縮寫。

用戶需要什麽樣的軟件產品?這是壹個多選題,但高效,健壯是肯定會被選中的。作為壹名軟件開發人員如何做才能滿足用戶的需要呢?必須要保證升級應用時不破壞與以前版本的向後兼容性。必須做到擴展系統服務時不依賴特定的操作系統。面向對象的程序設計顯然是壹次革命性的改變。采用面向對象的設計方法我們可以很容易的把要解決的問題事物抽象成各種類,並將內部動作封裝隱藏起來,只提供壹些接口。但這並沒有完全解決我們的問題。昨天我在《程序員》雜誌上看到,現在是後OO時代,那OO以後是什麽呢?應該是面向組件吧。

  • 上一篇:日本航天完成黑科技測試,除了太空機械臂,它還有太空機械手?
  • 下一篇:工程師面試自我介紹範文三篇
  • copyright 2024編程學習大全網