程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 數據訪問技術的演變

數據訪問技術的演變

編輯:關於SqlServer

在數據庫出現的早期,開發人員只需要了解正在使用的數據庫產品的詳盡知識。但數據庫產品和技術發展很快。從關系數據庫到非關系數據存儲區(如電子郵件和文件系統),數據訪問技術必須始終追隨技術的飛速變化。並且,隨著客戶端/服務器及多層應用程序結構的出現,現在開發人員必須了解多種數據訪問技術。大多數開發人員花了數年時間學會了許多縮寫詞所對應的技術,例如,ODBC、DAO、RDO、OLE DB、ADO 和 RDS。現在 Microsoft 已經推出 .NET 框架,並且,隨之還有另外一項新的數據訪問技術:ADO.Net。

當我們沉浸於每一項新的技術進步時,常常會忽略數據訪問技術是如何演進的,以及每項技術應運而生的理由。了解這些技術的進展 £; 從 ODBC 到 ADO.Net £; 有助於為自己的機構選擇合適的技術並對其進行優化。

ODBC

在最基本的數據庫設計類型中,應用程序僅依賴一個數據庫。在這樣簡單的設置中,應用程序開發人員可以直接針對數據庫系統的接口進行編程。此方法雖然提供了一種快速而有效的數據訪問方式,但當企業發展、開發人員需要擴展應用程序時,它卻常常成了阻礙發展的一個大問題。單數據庫的方法還意味著,每個現有的應用程序都必須有不同的版本以支持各個數據庫。隨著業務的變化、發展和合並,應用程序必須訪問運行於不同平台的多種數據庫。

ODBC 技術為訪問異類的 SQL 數據庫提供了一個共同的接口。ODBC 使用 SQL 作為訪問數據的標准。第 30 頁的sqlserver/art/theevolutionofdata-AccesstechnologIEsFigure_01.gif" target="_blank">圖 1 顯示了標准 ODBC 結構的關系圖。這一接口提供了最大限度的互操作性:一個應用程序可以通過共同的一組代碼訪問不同的 SQL 數據庫管理系統 (DBMS)。因此,開發人員可以構建並分布客戶端/服務器應用程序,而無需針對特定的 DBMS。

開發人員可以添加數據庫驅動程序,將應用程序與用戶所選的 DBMS 聯系起來。如圖 1 所示,驅動程序管理器提供應用程序與數據庫之間的中間鏈接。ODBC 接口包含一系列功能,由每個 DBMS 的驅動程序實現。當應用程序改變它的 DBMS 時,開發人員只使用新的 DBMS 驅動程序替代舊的驅動程序,並且應用程序可以照常運行 £; 無需修改代碼。

DAO RDO

ODBC 使用低層接口,因此 C 和 C++ 程序員是真正從 ODBC 技術受益最多的人。Visual Basic (VB) 程序員沒有一種簡單的方法來訪問 ODBC 接口。在 VB 6.0 之前,開發人員不得不依賴一種較高級別的數據訪問模式。第 30 頁的sqlserver/art/theevolutionofdata-AccesstechnologIEsFigure_02.gif" target="_blank">圖 2 顯示了 VB 程序員如何用數據訪問對象 (DAO) 訪問數據庫。

DAO 是建立在 Microsoft Jet£¨Microsoft Access 的數據庫引擎)基礎之上的。Jet 是第一個連接到 Access 的面向對象的接口。使用 Access 的應用程序可以用 DAO 直接訪問數據庫。由於 DAO 是嚴格按照 Access 建模的,因此,使用 DAO 是連接 Access 數據庫最快速、最有效的方法。DAO 也可以連接到非 Access 數據庫,例如,SQL Server 和 Oracle。DAO 使用 ODBC,但是由於 DAO 是專門設計用來與 Jet 引擎對話的,Jet 將解釋 DAO 和 ODBC 之間的調用。使用除 Access 之外的數據庫時,這種額外的解釋步驟導致較慢的連接速度。

要克服這樣的限制,Microsoft 創建了 RDO。第 30 頁的sqlserver/art/theevolutionofdata-accesstechnologIEsFigure_03.gif" target="_blank">圖 3 顯示了 RDO 如何直接訪問 ODBC API,而無需通過 Jet 引擎。不久之後,Microsoft 推出了 ODBCDirect,它是 DAO 的擴展,在後台使用 RDO。第 30 頁的sqlserver/art/theevolutionofdata-AccesstechnologIEsFigure_04.gif" target="_blank">圖 4 顯示 ODBCDirect 如何允許現有的 DAO 應用程序訪問數據庫,而沒有 Jet 引擎產生的性能損失。

OLE DB

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved