NET_数据访问体系结构指南

上传人:20****03 文档编号:164032260 上传时间:2021-01-26 格式:DOC 页数:74 大小:443.50KB
返回 下载 相关 举报
NET_数据访问体系结构指南_第1页
第1页 / 共74页
NET_数据访问体系结构指南_第2页
第2页 / 共74页
NET_数据访问体系结构指南_第3页
第3页 / 共74页
NET_数据访问体系结构指南_第4页
第4页 / 共74页
NET_数据访问体系结构指南_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《NET_数据访问体系结构指南》由会员分享,可在线阅读,更多相关《NET_数据访问体系结构指南(74页珍藏版)》请在金锄头文库上搜索。

1、.NET 数据访问体系结构指南摘要:本文提供有关在基于 .NET 的多层应用程序中实现基于 ADO.NET 的数据访问层的指南。它集中讨论一系列常见的数据访问任务和方案,并介绍了可帮助您选择最适合的方法和技术的指南。简介 如果您要为基于 .NET 的应用程序设计数据访问层,应该使用 Microsoft?ADO.NET 作为数据访问模型。ADO.NET 功能丰富,支持松耦合的多层 Web 应用程序和 Web 服务的数据访问要求。像其他功能丰富的对象模型一样,ADO.NET 提供了多种方法来解决特定问题。 .NET 数据访问体系结构指南提供的信息可帮助您选择最适合的数据访问方法。它通过描述一系列广

2、泛的常见数据访问方案、提供性能提示以及推荐最佳实施策略来达到此目的。本指南还提供了对常见问题的解答,这些问题包括:哪里是存储数据库连接字符串的最佳场所?如何实现连接池?如何处理事务?如何实现分页以使用户能够在大量记录中滚动?本指南集中讨论如何使用 ADO.NET 并通过 SQL Server .NET 数据提供程序(ADO.NET 随附的两个数据提供程序之一)来访问 Microsoft SQL?Server?2000。在适当的时候,本指南将明确指出您在使用 OLE DB .NET 数据提供程序来访问其他支持 OLE DB 的数据源时应该了解的差异。有关使用本文中讨论的指南和最佳实施策略开发的数

3、据访问组件的具体实现,请参阅 Data Access Application Block。Data Access Application Block 包含该实现的源代码,您可以在基于 .NET 的应用程序中直接使用这些代码。.NET 数据访问体系结构指南分为以下几个部分: ADO.NET 简介 管理数据库连接 错误处理 性能 通过防火墙进行连接 处理 BLOB 通过数据集执行数据库更新 使用强类型数据集对象 处理空数据字段 事务处理 数据分页 附录本文档的目标读者 本文档为需要生成基于 .NET 的应用程序的应用程序设计人员和企业开发人员提供指南。如果您负责设计和开发基于 .NET 的多层应用

4、程序的数据层,请阅读本文档。预备知识 要使用本指南来生成基于 .NET 的应用程序,您必须具有使用 ActiveX?Data Objects (ADO) 和/或 OLE DB 开发数据访问代码以及 SQL Server 方面的经验。您必须了解如何为 .NET 平台开发托管代码,并且必须了解 ADO.NET 数据访问模型引入的根本性的变化。有关 .NET 开发的详细信息,请参阅 http:/ 本文档已经进行了更新,以便包含有关执行数据集更新、使用类型化 DataSet 以及使用空数据字段的部分。 如正文中所指出的那样,本指南中的一些内容特别适用于 Microsoft Visual Studio?

5、2003 开发系统和 .NET 框架 SDK 1.1 版。 下载 .NET 数据访问体系结构指南 单击可从 MS.com 下载中心下载.NET 数据访问体系结构指南ADO.NET 简介ADO.NET 是基于 .NET 的应用程序的数据访问模型。可以使用它来访问关系数据库系统(如 SQL Server 2000、Oracle)和其他许多具有 OLE DB 或 ODBC 提供程序的数据源。在某种程度上,ADO.NET 代表 ADO 技术的最新进展。不过,ADO.NET 引入了一些重大变化和革新,旨在解决 Web 应用程序的松耦合特性以及在本质上互不关联的特性。有关 ADO 与 ADO.NET 的比

6、较,请参阅 MSDN 文章“ADO.NET for the ADO Programmer”,网址为:http:/ 引入的主要变化之一是用 DataTable、DataSet、DataAdapter 和 DataReader 对象的组合取代了 ADO Recordset 对象。DataTable 表示单个表中行的集合,在这一方面类似于 Recordset。DataSet 表示 DataTable 对象的集合,同时包括将各种表绑定在一起的关系和约束。实际上,DataSet 是带有内置 XML 支持的、内存中的关系结构。 DataSet 的主要特性之一是它不了解可能用来填充它的基础数据源。它是一个不

7、连续的、独立的实体,用于表示数据集合,并且可以通过多层应用程序的不同层在组件之间传递。它还可以作为 XML 数据流进行序列化,这使其非常适合于在不同种类的平台之间进行数据传输。ADO.NET 使用 DataAdapter 对象将数据传送到 DataSet 和基础数据源,或者从数据源传出。DataAdapter 对象还提供以前与 Recordset 关联的增强的批量更新功能。图 1 显示了完整的 DataSet 对象模型。图 1.1.DataSet 对象模型.NET 数据提供程序ADO.NET 依赖于 .NET 数据提供程序的服务。这些提供程序提供对基础数据源的访问,并且包括四个主要对象(Con

8、nection、Command、DataReader 和 DataAdapter)。 目前,ADO.NET 随附了两类提供程序:Bridge 提供程序和 Native 提供程序。通过 Bridge 提供程序(如那些为 OLE DB 和 ODBC 提供的提供程序),可以使用为以前的数据访问技术设计的数据库。Native 提供程序(如 SQL Server 和 Oracle 提供程序)通常能够提供性能方面的改善,部分原因在于少了一个抽象层。 SQL Server .NET 数据提供程序。这是一个用于 Microsoft SQL Server 7.0 和更高版本数据库的提供程序。它被进行了优化以便访

9、问 SQL Server,并且它通过使用 SQL Server 的本机数据传输协议来直接与 SQL Server 进行通讯。 当您连接到 SQL Server 7.0 或 SQL Server 2000 时,请始终使用该提供程序。 Oracle .NET 数据提供程序。用于 Oracle 的 .NET 框架数据提供程序通过 Oracle 客户端连接软件支持对 Oracle 数据源的数据访问。该数据提供程序支持 Oracle 客户端软件版本 8.1.7 及更高版本。 OLE DB .NET 数据提供程序。这是一个用于 OLE DB 数据源的托管提供程序。它的效率要比 SQL Server .NE

10、T 数据提供程序稍微低一些,因为它在与数据库通讯时通过 OLE DB 层进行调用。请注意,该提供程序不支持用于开放式数据库连接 (ODBC) 的 OLE DB 提供程序 MSDASQL。对于 ODBC 数据源,请改为使用 ODBC .NET 数据提供程序(稍后将加以介绍)。有关与 ADO.NET 兼容的 OLE DB 提供程序的列表,请参阅 http:/ 其他目前正处于测试阶段的 .NET 数据提供程序包括: ODBC .NET 数据提供程序。用于 ODBC 的 .NET 框架数据提供程序使用本机 ODBC 驱动程序管理器 (DM) 来支持借助于 COM 互操作性进行的数据访问。 用于从 SQ

11、L Server 2000 检索 XML 的托管提供程序。XML for SQL Server Web update 2(目前正处于测试阶段)包含一个托管提供程序,专门用于从 SQL Server 2000 中检索 XML。有关此更新的详细信息,请参阅 http:/ 有关不同数据提供程序的详细概述,请参阅.NET 框架开发人员指南中的“.NET 框架数据提供程序”,网址为:http:/ .NET 数据提供程序相关联的类型(类、结构、枚举等)位于其各自的命名空间中: System.Data.SqlClient。包含 SQL Server .NET 数据提供程序类型。 System.Data.Or

12、acleClient。包含 Oracle .NET 数据提供程序。 System.Data.OleDb。包含 OLE DB .NET 数据提供程序类型。 System.Data.Odbc。包含 ODBC .NET 数据提供程序类型。 System.Data。包含独立于提供程序的类型,如 DataSet 和 DataTable。 在各自的关联命名空间内,每个提供程序都提供了对 Connection、Command、DataReader 和 DataAdapter 对象的实现。SqlClient 实现的前缀为“Sql”,而 OleDb 实现的前缀为“OleDb”。例如,Connection 对象的

13、 SqlClient 实现是 SqlConnection,而 OleDb 实现则为 OleDbConnection。同样,DataAdapter 对象的两个实现分别为 SqlDataAdapter 和 OleDbDataAdapter。在本指南中,所用示例取自 SQL Server 对象模型。尽管此处未加说明,Oracle/OLEDB 和 ODBC 中提供了类似的功能。一般编程如果您可能要面向不同的数据源,并且需要将您的代码从一个数据源移至另一个数据源,请考虑编程以支持 System.Data 命名空间中的 IDbConnection、IDbCommand、IDataReader 和 IDbD

14、ataAdapter 接口。Connection、Command、DataReader 和 DataAdapter 对象的所有实现都必须支持这些接口。有关实现 .NET 数据提供程序的详细信息,请参阅 http:/ OLE DB 和 ODBC 桥接提供程序都可以使用。在此情况下,需要考虑与应用程序的性能需要相比,要求应用程序具有多大的灵活性,以及在何种程度上需要数据库特有的功能。图 2 阐明了数据访问栈,并说明了 ADO.NET 与其他数据访问技术(包括 ADO 和 OLE DB)之间的关系。它还说明了 ADO.NET 模型内的两个托管提供程序和主要对象。图 1.2.数据访问栈有关 ADO 向 ADO.NET 的演变的详细信息,请参阅文章“Introducing ADO+:Data Access Services for the Microsoft .NET Framework”(MSDN Magazine,2000 年 11 月号),网址为:http:/msdn

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号