`

数据访问技术路线图(ADO与ADO.NET自由转换)

 
阅读更多

数据访问技术路线图

发布日期: 3/22/2005 | 更新日期: 3/22/2005

Prash Shirolkar, Author
Alyssa Henry, Contributor
Stephen Pepitone, Contributor
Acey J. Bunch, Contributor
Microsoft Corporation

摘要:了解 Microsoft 数据访问技术的过去、现在和未来。

*
本页内容
简介 简介
Microsoft 数据访问组件 (MDAC) Microsoft 数据访问组件 (MDAC)
SQL Native Client (SQLNCLI) SQL Native Client (SQLNCLI)
ADO.NET 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 灵活地访问数据。


图 1. 当前 MDAC 体系结构

出于本文档的目的,您可以基于技术和产品将 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 安装该版本。

32 位版本的 MDAC 2.7 已经被发布到 MDAC Web 站点。

64 位版本的 MDAC 2.7 将只与 64 位版本的 Windows XP 一起发布。

MDAC 2.8:该版本的 MDAC 随附在 Windows Server 2003 以及 Windows XP SP2 和更高版本中。

在向客户发布 Windows Server 2003 的同时,32 位版本的 MDAC 2.8 也将发布到 MDAC Web 站点中。

64 位版本的 MDAC 2.8 将只与 64 位版本的 Windows Server 2003 一起发布。

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 的核心组件。


图 2. ADO.NET 体系结构

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 站点:

Data Access and Storage Developer Center Web 站点

转到原英文页面

分享到:
评论

相关推荐

    Google地图.net代码

    - 数据访问:在.NET环境中,你可以使用ADO.NET、Entity Framework或其他ORM工具从数据库获取地标信息,如经纬度坐标和描述。 - 数据传输:将这些数据通过JSON格式发送到前端,前端再解析并用于地图上的标记。 3. ...

    ASP.NET学习路线图浅谈

    - ADO.NET的使用,掌握连接数据库、执行SQL语句、处理结果集等基本操作。 - 数据绑定控件的使用,例如GridView、Repeater等。 6. **多层架构**: - 了解分层架构的基本概念,包括表示层、业务逻辑层和数据访问层...

    亮剑.NET深入体验与实战精要2

    5.1 ADO.NET与抽水的故事 200 5.1.1 ADO.NET的定义 200 5.1.2 趣味理解ADO.NET对象模型 202 5.1.3 进水笼头——建立Connection 204 5.1.4 抽水机——Command 206 5.1.5 输水管——DataAdapter 209 5.1.6 输水管...

    亮剑.NET深入体验与实战精要3

    5.1 ADO.NET与抽水的故事 200 5.1.1 ADO.NET的定义 200 5.1.2 趣味理解ADO.NET对象模型 202 5.1.3 进水笼头——建立Connection 204 5.1.4 抽水机——Command 206 5.1.5 输水管——DataAdapter 209 5.1.6 输水管...

    asp.net中图像的检索技术毕业设计(论文+源码+任务书+开题报告+答辩ppt).rar

    在ASP.NET中,常用的数据访问技术有ADO.NET和Entity Framework。ADO.NET提供直接的数据库访问,而Entity Framework则是ORM(对象关系映射)框架,能简化数据库操作。在本项目中,可能会涉及到创建一个专门的表来存储...

    ASP.NET基于.NET的城市公交查询系统的设计与实现(源代码+论文).zip

    这涉及到数据库建模,可能使用SQL Server或MySQL等关系型数据库,通过ADO.NET或Entity Framework进行数据访问。数据库设计应考虑查询效率,如合理使用索引、优化查询语句等。 2. 用户界面:使用ASP.NET的控件库,如...

    asp.net中图像的检索技术毕业设计(论文+源码+任务书+开题报告+答辩ppt).zip

    在ASP.NET中,使用ADO.NET进行数据库交互,创建ADO.NET数据源控件,连接到数据库,并通过SQL查询语句来获取和更新图像数据。同时,可以使用Entity Framework等ORM工具简化数据库操作。 用户界面的设计也是必不可少...

    毕业论文设计-IT计算机-ASP.NET图像的检索技术毕业设计(源码+论文+报告+翻译+文献+答辩PPT).zip

    ADO.NET是.NET Framework的一部分,提供与数据库交互的能力,包括连接、查询、数据绑定等。 5. **Web服务与API**:为了实现图像的上传、下载或者与第三方服务集成,可能涉及到Web服务的开发和使用,如RESTful API的...

    ASP.NET图像的检索技术毕业设计(源代码+论文+开题报告+外文翻译+文献综述+答辩PPT)【ASP】.zip

    3. **数据库交互**:为了存储和检索图像信息,项目可能使用了关系型数据库如SQL Server,通过ADO.NET或Entity Framework进行数据访问。数据库设计可能包括图像元数据表,用于存储图像的标题、描述、标签等信息。 4....

    火车站售票查询系统.net2.0

    3. **查询车次**:查询车次功能涉及数据库操作,开发者可能使用ADO.NET库来与数据库交互,执行SQL查询语句来获取车次信息。用户可以通过输入起始站和目的地来筛选车次,后台则根据这些条件检索相关数据并返回给前端...

    vb.net聊天通信软件开发(论文+源代码+开题报告+答辩PPT).zip

    VB.NET可以通过ADO.NET访问各种数据库,如SQL Server、MySQL等,需要了解SQL查询语句和数据访问对象(DAO)模式。 11. **开题报告与答辩准备**:项目开发不仅仅是编程,还包括前期的研究和后期的展示。开题报告需要...

    vs2008连接access数据库百度地图读取保存坐标功能

    在VS2008中,我们可以使用ADO.NET库来连接和操作Access数据库,包括建立连接、执行SQL查询、插入、更新和删除数据等。 接着,**百度地图API**是百度提供的地图服务接口,开发者可以通过调用其API实现地图展示、定位...

    基于C#的Web地图系统源码.zip

    项目可能包含了数据库设计和C#的ADO.NET组件,用于数据的增删查改操作。 7. **Web API或WCF服务**:如果项目涉及到跨域通信或移动设备访问,可能会使用Web API或Windows Communication Foundation (WCF) 创建...

    某高校教师教学质量评估系统的研究与设计.pdf

    - **ADO.NET数据库技术**:利用ADO.NET进行数据访问操作,实现数据库的高效管理和查询。 - **WEB结构**:采用B/S架构(浏览器/服务器模式),便于用户的访问和系统的维护。 #### 主要功能模块 1. **用户认证**:...

    C# + Mapx 地图系统

    9. **数据库集成**:如果地图数据存储在数据库中,如SQL Server Spatial或PostGIS,那么需要使用ADO.NET或其他数据库访问技术进行数据交互。 10. **错误处理和调试**:在开发过程中,良好的错误处理和调试技巧是必...

    基于c#的Socket通信,高德地图,数据库存储

    数据库存储方面,C#提供了ADO.NET框架,用于与各种关系型数据库(如SQL Server、MySQL等)进行交互。我们通常会创建一个数据库连接,执行SQL命令(如INSERT、UPDATE、SELECT等),并通过数据适配器和数据集对象将...

    计算机软件毕业设计_+SQL客户关系管理系统设计与实现(开题报告+源代码+论文+答辩PPT)_计算机毕业设计源代码.rar

    这通常涉及到使用某种编程语言(如Java、Python或C#)的数据库访问库,如JDBC、ODBC或ADO.NET,编写SQL查询语句,并将结果转换为应用程序可以理解的形式。 前端用户界面设计也是重要部分,需要考虑用户体验和交互性...

    用Delph开发Gis系统

    开发者需要熟悉ADO(ActiveX Data Objects)或其他数据库访问技术,以实现与数据库的无缝连接。 2. 地图显示:利用第三方GIS控件,如MapInfo ActiveX Control、ESRI ArcObjects或GMap.NET,可以在Delphi中嵌入地图...

    实现网上地图标注

    在C#代码中,使用ADO.NET或Entity Framework建立与数据库的连接,以便读取和写入数据。 5. **获取标注信息**: 从数据库查询地图标注数据,将结果集转换为JavaScript对象数组。 6. **动态添加标注**: 使用百度地图...

Global site tag (gtag.js) - Google Analytics