OLEDB位于ODBC層與應用程序之間。在你的ASP頁面里,ADO是位于OLEDB之上的應用程序。你的ADO調用先被送到OLEDB,然后再交由ODBC處理。你可以直接連接到OLEDB層,如果你這么做了,你將看到服務器端游標(recordset的缺省的游標,也是最常用的游標)性能的提升。
數據訪問客戶端
DAO
DAO(數據訪問對象)是一種應用程序編程接口(API),存在于微軟的Visual Basic中,它允許程序員請求對微軟的Access數據庫的訪問。DAO是微軟的第一個面向對象的數據庫接口。DAO對象封閉了Access的Jet函數。通過Jet函數,它還可以訪問其他的結構化查詢語言(SQL)數據庫。
DAO的最大問題在于只能跟JET引擎進行對話,而JET引擎通過與ODBC進行通信來檢索數據。這種通過額外中間層的方式增加了不必要的系統開銷,使得通過DAO來訪問數據速度變慢。
RDO
遠程數據對象RDO是Microsoft針對DAO性能低下的解決方案。訪問Microsoft Access之外的數據庫時,與DAO不同,RDO不使用JET引擎,而是直接與ODBC層進行通信。
從調用棧中刪除JET引擎這一舉措極大地改進了ODBC數據源的性能。只有在訪問Microsoft Access數據庫的時候才使用JET引擎。另外,RDO可以使用客戶程序端游標來定位記錄,而DAO則需要服務器端游標。這極大地減少了數據庫服務器的負荷,不僅使得應用程序運行得更好,而且也改進了應用程序所依賴的數據庫。
RDO主要面向大型商業用戶,他們中的大多數因為性能問題而避免使用DAO。RDO并沒有取代DAO,它們同時存在著。RDO發布后沒多久,Microsoft就發布了新的通用訪問API。
ADO
Microsoft引入ActiveX數據對象的主要目的是提供一種高級API與OLE-DB協同工作。在這次發布中,Microsoft吸取了過去很多教訓,建立了一個更輕巧、更高效、更通用的數據訪問API。與RDO不同的是,ADO最初被提議用來取代DAO和RDO。在發布之初,人們普遍認為它以及OLE-DB是訪問任何類型數據的通用解決方案:從數據庫到電子郵件,從無格式文本文件到電子表格。
ADO代表了對以前數據訪問方法的一種重大變革。ADO的發布主要用來輔助OLE-DB,但是ADO并不局限于僅僅與OLE-DB數據源進行通信。ADO引入了數據提供程序模型,這個模型使得軟件供應商可以相對容易地創建自己的數據提供程序,這些數據提供程序可以被ADO用來與特定供應商的數據源進行通信,可以對那種特定的數據源進行優化。與ADO一起提供的ODBC提供程序就是一個這樣的例子。當開發人員連接到ODBC數據源時,ADO通過ODBC提供程序而不是OLE-DB來進行通信。更加直接地與數據源進行通信可以導致更好的性能和易于擴展的框架。
ADO.NET
ADO.NET將成為構建數據感知 .NET應用程序的基礎。 不同于ADO 的是,ADO.NET更具有通用性,不是那么專門針對數據庫而進行的設計。 ADO.NET聚集了所有可以進行數據處理的類。這些類呈現了具有典型數據庫功能的data container objects,比如:索引,排序,瀏覽。盡管ADO.NET是作為重要的.NET數據庫應用程序的解決方案,它更多的顯示了涵蓋全面的設計,而不僅是作為和ADO模型一樣的以數據庫為中心。
文章來源于領測軟件測試網 http://www.kjueaiud.com/