2007-06-21 06:30:33 Kenny

DAO、 RDO和ADO的比較 及ODBC和OLE2


    
    
        DAO   (Data   Access   Objects
數據訪問對象)是第一個面向對象的介面,它提供了另一種本地操作數據庫的機製,它通過程序代碼而不是中間層(比如OLE,ODBC)來訪問數據庫.多個DAO構成一個體系結構,在這個結構中各個DAO協同操作.它曾經是訪問本地數據庫(   Microsoft   Jet   數據庫引擎)最強有力的工具.   需要說明的是后來又出現了ODBCDirect,   它為DAO提供了訪問遠程ODBC數據的全部能力,使DAO能夠訪問遠程數據庫,但這並不說明DAO仍有前途可言.(呵呵,個人看法,上當莫怪)  
   
  RDO   (Remote   Data   Objects
遠程數據對象)是一個專門為訪問訪問遠程ODBC關系數據庫而開發的程序接口,它同易于使用的   DAO   style組合在一起,提供了一個能利用所有   ODBC   的底層功能的介面
RDO   在地訪問   Jet     ISAM   數據庫,以及只能通過現存的   ODBC   驅動程式來訪問關系數據庫方面受到諸多限製所以在OLE訪問日漸成為趨勢的今天,這並不是一個很好的選擇.(聲明同上).  
   
   
     
ADO   (ActiveX   Data   Objects)提供了與DAO,RDO完全不同的數據訪問方式--OLEADO   主要包括   RDO   風格的功能性,以便和   OLE   DB   資料源交互,另外還包括遠端和   DHTML   技術不過,也應當注意,ADO   當前幷不支援   DAO   的所有功能(比如幷不支援資料定義   (DDL)、用戶、組,等等)   ,沒有與   rdoEngine     rdoEnvironment   物件相類似的物件來顯露   ODBC   驅動程式管理器和   hEnv   介面盡管事實上您的介面可能是通過   ODBC   OLE   DB   服務提供程式實現的,但您當前也不能從   ADO   中創建   ODBC   資料源幸好ODBC過時的呼聲越來越高漲.  
   
   
 
以上著重從編程的角度討論了訪問數據庫的不同方法,從敘述中我們可以看到以上方法種種的不同本質上都是的訪問方式的不同.主要區別在于:  
  1,
是否采用了分層的方式來訪問數據庫,比如,dao   odbc,ole之間顯著的不同.軟件技術從最初的不分層,c/s結構,到如今的多層結構.都是通過設計通用的中間層來簡化程序設計.  
  2,
是支持com   架構的ole訪問方式,還是支持odbc架構的odbc驅動訪問,從大多數的說法來看,好像ole是今后軟件技術支持的重點.  
   
 
這之間的差別有些並不如我所說的那么明顯,各種各樣的變化正在繼續.我從訪問數據庫的角度總結了一張表:對不起,沒畫成電子圖.