數據訪問技術路線圖
Prash Shirolkar, Author
Alyssa Henry, Contributor
Stephen Pepitone, Contributor
Acey J. Bunch, Contributor
Microsoft Corporation
摘要: 了解 Microsoft 數據訪問技術的過去、現在和未來。

本頁內容
![]() |
簡介 |
![]() |
Microsoft 數據訪問組件 (MDAC) |
![]() |
SQL Native Client (SQLNCLI) |
![]() |
ADO.NET |
![]() |
已過時的數據訪問技術 |
![]() |
更多信息 |
簡介
本文介紹 Microsoft 數據訪問技術的過去、現在和未來,這些技術包括 DB-Library、ESQL、DAO、Microsoft? 數據訪問組件 (MDAC)(包括 ODBC、ADO 和 OLE DB)、ADO.NET 和 SQL Native Client。本文將標識哪些技術會得到增強,哪些技術和組件將在未來的版本中被棄用或排除。
Microsoft 數據訪問組件 (MDAC)
通過 Microsoft 數據訪問組件 (MDAC),開發人員可以連接到種類繁多的關系和非關系數據源,并且使用這些數據源中的數據。您可以使用 ActiveX?Data Objects (ADO)、開放式數據庫連接 (ODBC) 或 OLE DB 連接到很多個不同的數據源。您可以通過由 Microsoft 生成和交付或者由各種第三方開發的提供程序和驅動程序完成該操作。
當前 MDAC 體系結構
通過當前的 MDAC 體系結構,客戶端-服務器應用程序、n 層應用程序或 Web 瀏覽器應用程序可以訪問 SQL、半結構化存儲和舊式數據存儲區。另外,通過 MDAC(并根據不同的需求),這些應用程序可以使用 ADO、OLE DB 或 ODBC 靈活地訪問數據。
出于本文檔的目的,您可以基于技術和產品將 MDAC 協議棧劃分為下列組件:
? |
ADO(包括 ADOMD 和 ADOX) |
? |
OLE DB(包括 SQL Server OLE DB 提供程序、Oracle OLE DB 提供程序、用于 ODBC 驅動程序的 OLE DB 提供程序、Data Shape Provider 和 Remote Data Provider) |
? |
ODBC(包括 SQL ODBC 驅動程序和 Oracle ODBC 驅動程序) |
當前 MDAC 組件
下列組件在當前版本中受到支持。當您開發新的應用程序或者升級現有的應用程序時,請使用這些組件。
? |
ADO: ActiveX 數據對象 (ADO) 提供了將繼續得到增強的高級編程模型。盡管使用 ADO 的性能要比直接針對 OLE DB 或 ODBC 編碼稍差一些,但它易于學習和使用,并且可以在諸如 Microsoft Visual Basic ?Scripting Edition (VBScript) 或 Microsoft JScript? 之類的腳本語言中使用。 |
? |
ADOMD: ADO Multi-Dimensional (ADOMD) 將與多維數據提供程序(例如,Microsoft OLAP 提供程序,也稱為 Microsoft 分析服務提供程序)一起使用。自 MDAC 2.0 開始,沒有對其進行過重大的功能增強;但是,它將可以在 64 位 Microsoft Windows? 操作系統上使用。 |
? |
ADOX: ADO Extensions for DDL and Security (ADOX) 支持對數據庫、表、索引或存儲過程的定義進行創建和修改。您可以將 ADOX 與任何提供程序一起使用。Microsoft Jet OLE DB 提供程序為 ADOX 提供了完整支持,而 Microsoft SQL OLE DB 提供程序提供了有限的支持。在未來的 MDAC 版本中,沒有為 ADOX 計劃重大的增強;但是,它將可以在 64 位 Windows 操作系統上使用。 |
? |
OLE DB: OLE DB 是一個全面的 COM 接口集,這些接口可用于訪問多種數據存儲區中的多種多樣的數據。OLE DB 提供程序可用于訪問數據庫、文件系統、消息存儲區、目錄服務、工作流和文檔存儲區中的數據。OLE DB 核心服務(盡管不是每個 OLE DB 提供程序)將可以在 64 位 Windows 操作系統上使用。 |
? |
SQLOLEDB: 用于 SQL Server 的 Microsoft OLE DB 提供程序 (SQLOLEDB) 支持對 Microsoft SQL Server 6.5 和更高版本的訪問。該 OLE DB 提供程序將是未來 MDAC 功能增強的中心。它將可以在 64 位 Windows 操作系統上使用。 |
? |
Microsoft SQL Server 網絡庫: SQL Server 網絡庫使 SQLOLEDB 和 SQLODBC 可以與 SQL Server 數據庫通信。下列 SQL Server 網絡庫當前在 MDAC 版本中被棄用:Banyan Vines、AppleTalk、Servernet、IPX/SPX、Giganet 和 RPC。TCP/IP、命名管道和共享內存 SQL Server 網絡庫將繼續得到增強,并且將可以在 64 位 Windows 操作系統上使用。 |
? |
ODBC: Microsoft 開放式數據庫連接 (ODBC) 接口是一個 C 編程語言接口,該接口使應用程序可以訪問多種數據庫管理系統 (DBMS) 中的數據。使用該 API 的應用程序被限制為只能訪問關系數據源。ODBC 將可以在 64 位 Windows 操作系統上使用。 |
? |
SQLODBC: Microsoft SQL Server ODBC 驅動程序 (SQLODBC) 支持對 Microsoft SQL Server 6.5 和更高版本的訪問。SQLODBC 將可以在 64 位 Windows 操作系統上使用。 |
被棄用的 MDAC 組件
在 MDAC 的當前版本中仍然支持這些組件,但是在未來的版本中可能將它們移除。Microsoft 建議您在開發新的應用程序時避免使用這些組件。另外,當您升級或修改現有的應用程序時,請移除對這些組件的任何依賴性。
? |
Jet: 從版本 2.6 開始,MDAC 不再包含 Jet 組件。換句話說,MDAC 2.6、2.7、2.8 以及未來的所有 MDAC 版本都不包含 Microsoft Jet、Microsoft Jet OLE DB 提供程序和 ODBC 桌面數據庫驅動程序。 |
? |
MSDASQL: 用于 ODBC 的 Microsoft OLE DB 提供程序 (MSDASQL) 通過 ODBC 驅動程序提供了對數據庫的 ADO 客戶端訪問。這已經成為 ADO 的默認提供程序;但是,對于未來版本的 MDAC 和 64 位 Windows 操作系統而言,MSDASQL 已經被棄用。因此,要從 ADO 訪問數據庫,客戶端必須使用適當的本機 OLE DB 提供程序(例如,SQLOLEDB)來訪問 Microsoft SQL Server。MSDASQL 將不能在 64 位 Windows 操作系統上使用;但是,仍然可以通過 32 位 Windows 子系統在 64 位 Windows 操作系統上使用它。 |
? |
MSDADS: 通過 Microsoft OLE DB Provider for Data Shaping ( MSDADS ),可以在應用程序中創建鍵、字段或行集合之間的分層關系。自 MDAC 2.1 開始,沒有進行過重大的功能增強。該提供程序將在未來的 MDAC 版本中被棄用。Microsoft 建議您使用 XML 而不是 MSDADS。 |
? |
Oracle ODBC: Microsoft Oracle ODBC 驅動程序 (Oracle ODBC) 提供了對 Oracle 數據庫服務器的訪問。它提供了對 Oracle 7 的完整支持。它還使用 Oracle 7 仿真提供了對 Oracle 8 數據庫的有限支持。Oracle ODBC 驅動程序尚未針對 Oracle 9 數據庫進行測試。 |
? |
RDS: 遠程數據服務 (RDS) 是一種用于跨 Internet 或 Intranet 訪問遠程 ADO 記錄集對象的專用 Microsoft 機制。自 MDAC 2.1 開始,還沒有對 RDS 進行過重大的功能增強。該組件將被棄用。Microsoft 現在交付 Microsoft SOAP Toolkit 2.0,應用程序可以在該組件中使用開放的、基于 XML 的標準來訪問遠程數據。使用 RDS 的應用程序應當遷移到 SOAP。 |
? |
JRO: 自 MDAC 2.6 開始,Microsoft Jet OLE DB 提供程序和其他相關組件已經被從 MDAC 協議棧中移除。Jet 復制對象 (JRO) 僅與 Jet (Access) 數據庫一起使用,基本上用于創建或壓縮 Jet 數據庫和 Jet 復制管理。JRO 已經被棄用,并且 MDAC 2.7 將是它的最后一個版本。它將不能在 64 位 Windows 操作系統上使用。 |
? |
SQL XML: SQL XML 提供了對用于 SQL Server 的 Microsoft OLE DB 提供程序 (SQLOLEDB) 的擴展,以使客戶端可以通過 XML 請求 Microsoft SQL Server 2000 數據以及檢索 XML 流。它最初是與 MDAC 2.6 一起發布的。通過 SQL XML Web 版本 1,客戶端可以使用 Updategrams 和 Bulk Load 在 SQL Server 2000 中插入、更新和刪除數據。該組件不會被棄用,但是它將被從未來的 MDAC 版本中移除。該產品的當前版本和更高版本將作為 Web 下載提供。SQL XML 將可以在 64 位 Windows 操作系統上使用。 |
MDAC 版本
以下為過去、現在和未來 MDAC 版本的可支持性方案的列表(從最早的版本開始)。
? |
MDAC 1.5、MDAC 2.0 和 MDAC 2.1: 這些版本的 MDAC 是通過 Microsoft Windows NT?Option Pack、Microsoft Windows Platform SDK 或 MDAC Web 站點發布的獨立版本。這些版本的 MDAC 不再受到支持。 |
||||
? |
MDAC 2.5: 該版本的 MDAC 隨附在 Windows 2000 操作系統中。MDAC 2.5 的未來 Service Pack 將隨附在相應的 Windows 2000 Service Pack 中。另外,這些 MDAC Service Pack 將根據 Windows 2000 Service Pack 發布日程安排發布到 MDAC Web 站點中。您只能在 Windows NT、Windows 95 和 Windows 98 平臺上安裝該版本的 MDAC。在 Windows 2000 和 Windows Millennium Edition 平臺上,您只能通過相應的操作系統或它們的 Service Pack 安裝該版本。該版本當前受到支持。 |
||||
? |
MDAC 2.6: MDAC 2.6 RTM、SP1 和 SP2 分別隨附在 Microsoft SQL Server 2000 RTM、SP1 和 SP2 中。另外,這些 MDAC Service Pack 根據 Microsoft SQL Server 2000 Service Pack 發布日程安排發布到 MDAC Web 站點中。您可以將該版本的 MDAC 和它的 Service Pack 安裝到 Windows 2000、Windows Millennium Edition、Windows NT、Windows 95 和 Windows 98 平臺上。該版本不再受到支持。 |
||||
? |
MDAC 2.7: 該版本的 MDAC 隨附在 Microsoft Windows XP RTM 和 SP1 操作系統中。您可以將該版本的 MDAC 和它的 Service Pack 安裝到 Windows 2000、Windows Millennium、Windows NT 和 Windows 98 平臺上。在 Windows XP 平臺上,您只能通過該操作系統或它的 Service Pack 安裝該版本。
|
||||
? |
MDAC 2.8: 該版本的 MDAC 隨附在 Windows Server 2003 以及 Windows XP SP2 和更高版本中。
|
SQL Native Client (SQLNCLI)
SQL Native Client (SQLNCLI) 是 Microsoft SQL Server 2005 中新增的一種數據訪問技術,并且是被用于 OLE DB 和 ODBC 的獨立的數據訪問應用程序編程接口 (API)。它將 SQL OLE DB 提供程序和 SQL ODBC 驅動程序組合為一個本機動態鏈接庫 (DLL),同時還提供了區別于 Microsoft 數據訪問組件 (MDAC) 的新功能。SQL Native Client 可以用來創建新的應用程序或者增強那些需要利用新的 SQL Server 2005 功能(例如,Multiple Active Result Sets (MARS)、用戶定義的類型(User-Defined Types ,UDT)和 XML 數據類型支持)的現有應用程序。
ADO.NET
ADO.NET 是對傳統 ADO 的改進,可用于創建分布式的數據共享應用程序。它是一種高級的應用程序編程接口,面向支持對數據進行斷開連接訪問的松耦合的、n 層的、基于 Internet 的應用程序。它是 Microsoft .NET Framework 的核心組件。
ADO.NET 提供了 .NET 托管提供程序以便進行連接訪問,并且提供了以 XML 格式讀取和寫入的數據集,以便對已檢索的數據和用戶交互進行斷開連接管理。下列數據提供程序可用于 ADO.NET:
? |
Microsoft SQL .NET 數據提供程序: 該提供程序使 .NET 應用程序可以直接訪問 Microsoft SQL Server 數據庫。 |
? |
Microsoft OLE DB .NET 數據提供程序: 該提供程序使 .NET 應用程序可以使用它們的本機 OLE DB 提供程序訪問數據庫。 |
? |
Microsoft ODBC .NET 數據提供程序: 該提供程序使 .NET 應用程序可以通過使用它們的 ODBC 驅動程序訪問數據庫。 |
? |
Microsoft Oracle .NET 數據提供程序: 該提供程序使 .NET 應用程序可以訪問 Oracle 數據庫。 |
數據集以 XML 格式讀取和寫入,并且 XMLDataDocument 集成了關系視圖和 XML 視圖。
已過時的數據訪問技術
已過時的技術是指在多個產品版本中尚未增強或更新并且將被從未來的產品版本中排除的技術。在編寫新的應用程序時,請不要使用這些技術。當您修改那些使用這些技術編寫的現有應用程序時,請考慮將這些應用程序遷移到 ADO.NET。
下列組件被視為過時的:
? |
DB-Library: 這是一個包含 C API 的特定于 SQL Server 的編程模型。自 SQL Server 6.5 以來,一直沒有對 DB-Library 進行任何功能增強。它的最后一個版本隨附在 SQL Server 2000 中,并且將不會被移植到 64 位 Windows 操作系統。 |
? |
嵌入式 SQL (E-SQL): 這是一個特定于 SQL Server 的編程模型,它支持將 Transact-SQL 語句嵌入到 Visual C 代碼中。自 SQL Server 6.5 開始,一直沒有對 E-SQL 進行任何功能增強。它的最后一個版本隨附在 SQL Server 2000 中,并且將不會被移植到 64 位 Windows 操作系統。 |
? |
數據訪問對象 (DAO): DAO 提供對 JET (Access) 數據庫的訪問。可以從 Microsoft Visual Basic ?、Microsoft Visual C++? 和腳本語言中使用該 API。它隨附在 Microsoft Office 2000 和 Office XP 中。DAO 3.6 是該技術的最后一個版本。它將不能在 64 位 Windows 操作系統上使用。 |
? |
遠程數據對象 (RDO): RDO 經過專門設計以訪問遠程的 ODBC 關系數據源,并且使得 ODBC 的使用變得更加容易,而無須編寫復雜的應用程序代碼。它隨附在 Microsoft Visual Basic 版本 4、5 和 6 中。RDO 版本 2.0 是該技術的最后一個版本。 |
更多信息
有關詳細信息,請訪問以下 Microsoft Web 站點:
? |
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
