SQL Server 2005 Mobile Edition 3.0 中的复制和远程数据访问功能的技术对比
2007-11-11 09:16:24 来源:WEB开发网核心提示: 概述:本文提供了在多层.NET应用程序中实施基于ADO.NET的数据访问层的指导原则,其重点是一组通用数据访问任务和方案,SQL Server 2005 Mobile Edition 3.0 中的复制和远程数据访问功能的技术对比(2),并指导你选择最合适的途径和技术(68张打印页),简介 如果你在为.NET应用程序设
概述:本文提供了在多层.NET应用程序中实施基于ADO.NET的数据访问层的指导原则。其重点是一组通用数据访问任务和方案,并指导你选择最合适的途径和技术(68张打印页)。
简介
如果你在为.NET应用程序设计数据访问层,那么就应该把 Microsoft ADO.NET用作数据访问模型。ADO.NET扩展丰富,并且支持结合松散的数据访问需求、多层Web应用程序及Web服务。通常,它利用许多扩展丰富的对象模型, ADO.NET提供了多种方法用于解决一个特定问题。
本文将指导你选择最合适的数据访问方法,其做法是详细列出大范围的通用数据访问方案,提供运用技巧,并且建议最优实践。本文还回答了其它经常问到的问题:何处最适合存放数据库链接字符串?应如何实现链接存储池?如何处理事务?如何实现分页以允许用户在许多记录中滚动?
注意本文的重点是ADO.NET的使用:利用sql server(WINDOWS平台上强大的数据库平台) .NETData Provider--随ADO.NET一起提供的两个供应器之一--访问Microsoft sql server(WINDOWS平台上强大的数据库平台) 2000。本文在合适的地方,将突出显示在你使用OLE DB .NET数据供应器访问其它OLE DB敏感数据源时需要注意的所有差别。
对于利用本文所讨论的指导原则和最优实践所开发的数据访问组件的具体实现,见(Data Access Application Block)数据访问应用程序块。注意,本实现的源代码是可以获得的,并且能直接用于你的.NET应用程序中。
谁应当阅读本文?
本文为希望构建.NET应用程序的应用程序设计师和企业开发人员提供了指导原则。如果你负责设计并开发多层.NET应用程序的数据层,那么请阅读本文。
你首先需要知道什么?
要利用本指南构建.NET应用程序,你必须有利用ActiveX数据对象(ADO)和/或 OLE DB开发数据访问代码的实际经验,及sql server(WINDOWS平台上强大的数据库平台)经验。你也必须明白如何为.NET平台开发管理代码,并且也必须清楚ADO.NET数据访问模型引入的基本变化。
ADO.NET简介
ADO.NET是.NET应用程序的数据访问模型。它能用于访问关系型数据库系统,如sql server(WINDOWS平台上强大的数据库平台) 2000,及很多其它已经配备了OLE DB供应器的数据源。在某种程度上,ADO.NET代表了最新版本的ADO技术。然而,ADO.NET引入了一些重大变化和革新,它们专门用于结构松散的、本质非链接的Web应用程序。关于ADO 与 ADO.NET的比较,见MSDN中的“用于ADO程序员的ADO.NET”一文。
ADO.NET引入的一个重要变化是,用DataTable, DataSet, DataAdapter, 和 DataReader对象的组合代替了ADO Recordset对象。DataTable表示来自一个表的行集合,在这方面它与Recordset类似。DataSet表示DataTable对象的集合,及与其它表绑定在一起的关系和限制。实际上,DataSet是具有内置的扩展标记语言(xml(标准化越来越近了))支持的内存中的关联结构。
DataSet的一个主要特点是,它对底层的数据源一无所知,而这些数据源可能用于对其进行填充。这是一个分离的用于表示数据集合的独立实体,并且它可通过多层应用程序的不同层由一个组件传递到另一组件。它也可作为xml(标准化越来越近了) 数据流被序列化,因而非常适合于不同类型平台间的数据传输。ADO.NET使用DataAdapter对象为发送到和来自DataSet及底层数据源的数据建立通道。DataAdapter对象还支持增强的批更新特性,以前这是Recorder的相关功能。
.NET 数据供应器
ADO.NET 依靠.NET 数据供应器的服务。 它们提供了对底层数据源的访问,包括四个主要对象(Connection, Command, DataReader,及DataAdapter),目前,ADO.NET只发行了两个供应器:
与每个.NET数据供应器相关的类型(类,结构,枚举,等等)位于它们各自的名称空间中:
通用编程
如果你很有可能以不同的数据源为目标,并希望将代码从一种数据源移植到另一数据源,那么可以考虑对System.Data名称空间中的IDbConnection, IDbCommand, IDataReader,和IDbDataAdapter接口进行编程。Connection, Command, DataReader, 及 DataAdapter对象的所有实现都必须支持这些接口。
显示了数据访问堆栈及ADO.NET如何与其它数据访问技术,包括ADO和OLE DB,联系起来。该图还显示了ADO.NET模型中的两个管理供应器和主要对象。
关于ADO到ADO.NET的演化,见MSDN杂志2000年11月期的文章“ADO+简介:用于微软.NET框架的数据访问服务”。
简介
如果你在为.NET应用程序设计数据访问层,那么就应该把 Microsoft ADO.NET用作数据访问模型。ADO.NET扩展丰富,并且支持结合松散的数据访问需求、多层Web应用程序及Web服务。通常,它利用许多扩展丰富的对象模型, ADO.NET提供了多种方法用于解决一个特定问题。
本文将指导你选择最合适的数据访问方法,其做法是详细列出大范围的通用数据访问方案,提供运用技巧,并且建议最优实践。本文还回答了其它经常问到的问题:何处最适合存放数据库链接字符串?应如何实现链接存储池?如何处理事务?如何实现分页以允许用户在许多记录中滚动?
注意本文的重点是ADO.NET的使用:利用sql server(WINDOWS平台上强大的数据库平台) .NETData Provider--随ADO.NET一起提供的两个供应器之一--访问Microsoft sql server(WINDOWS平台上强大的数据库平台) 2000。本文在合适的地方,将突出显示在你使用OLE DB .NET数据供应器访问其它OLE DB敏感数据源时需要注意的所有差别。
对于利用本文所讨论的指导原则和最优实践所开发的数据访问组件的具体实现,见(Data Access Application Block)数据访问应用程序块。注意,本实现的源代码是可以获得的,并且能直接用于你的.NET应用程序中。
谁应当阅读本文?
本文为希望构建.NET应用程序的应用程序设计师和企业开发人员提供了指导原则。如果你负责设计并开发多层.NET应用程序的数据层,那么请阅读本文。
你首先需要知道什么?
要利用本指南构建.NET应用程序,你必须有利用ActiveX数据对象(ADO)和/或 OLE DB开发数据访问代码的实际经验,及sql server(WINDOWS平台上强大的数据库平台)经验。你也必须明白如何为.NET平台开发管理代码,并且也必须清楚ADO.NET数据访问模型引入的基本变化。
ADO.NET简介
ADO.NET是.NET应用程序的数据访问模型。它能用于访问关系型数据库系统,如sql server(WINDOWS平台上强大的数据库平台) 2000,及很多其它已经配备了OLE DB供应器的数据源。在某种程度上,ADO.NET代表了最新版本的ADO技术。然而,ADO.NET引入了一些重大变化和革新,它们专门用于结构松散的、本质非链接的Web应用程序。关于ADO 与 ADO.NET的比较,见MSDN中的“用于ADO程序员的ADO.NET”一文。
ADO.NET引入的一个重要变化是,用DataTable, DataSet, DataAdapter, 和 DataReader对象的组合代替了ADO Recordset对象。DataTable表示来自一个表的行集合,在这方面它与Recordset类似。DataSet表示DataTable对象的集合,及与其它表绑定在一起的关系和限制。实际上,DataSet是具有内置的扩展标记语言(xml(标准化越来越近了))支持的内存中的关联结构。
DataSet的一个主要特点是,它对底层的数据源一无所知,而这些数据源可能用于对其进行填充。这是一个分离的用于表示数据集合的独立实体,并且它可通过多层应用程序的不同层由一个组件传递到另一组件。它也可作为xml(标准化越来越近了) 数据流被序列化,因而非常适合于不同类型平台间的数据传输。ADO.NET使用DataAdapter对象为发送到和来自DataSet及底层数据源的数据建立通道。DataAdapter对象还支持增强的批更新特性,以前这是Recorder的相关功能。
.NET 数据供应器
ADO.NET 依靠.NET 数据供应器的服务。 它们提供了对底层数据源的访问,包括四个主要对象(Connection, Command, DataReader,及DataAdapter),目前,ADO.NET只发行了两个供应器:
- sql server(WINDOWS平台上强大的数据库平台) .NET 数据供应器。这是用于Microsoft sql server(WINDOWS平台上强大的数据库平台) 7.0及其以后版本数据库的供应器,它优化了对sql server(WINDOWS平台上强大的数据库平台)的访问,并利用 sql server(WINDOWS平台上强大的数据库平台)内置的数据转换协议直接与sql server(WINDOWS平台上强大的数据库平台)通信。
- 当链接到sql server(WINDOWS平台上强大的数据库平台) 7.0 或 sql server(WINDOWS平台上强大的数据库平台) 2000时,总是要使用此供应器。
- OLE DB .NET 数据供应器。. 这是一个用于管理OLE DB 数据源的供应器。它的效率稍低于sql server(WINDOWS平台上强大的数据库平台) .NET Data Provider,因为在与数据库通信时,它需通过OLE DB层进行呼叫。注意,此供应器不支持用于开放数据库链接(ODBC),MSDASQL的OLE DB供应器。对于ODBC数据源,应使用ODBC .NET数据供应器。有关与ADO.NET兼容的OLE DB供应器列表。
- ODBC .NET 数据供应器。目前Beta 1.0版可供下载。它提供了对ODBC驱动器的内置访问,其方式与OLE DB .NET数据供应器提供的对本地OLE DB供应器的访问方式相同。关于ODBC .NET及Beta版下载的更多信息见.
- 用于从sql server(WINDOWS平台上强大的数据库平台) 2000中得到xml(标准化越来越近了)的管理供应器。用于sql server(WINDOWS平台上强大的数据库平台) Web升级2版的xml(标准化越来越近了)还包括了专用于从sql server(WINDOWS平台上强大的数据库平台) 2000中得到xml(标准化越来越近了)的管理供应器。关于此升级版本的更多信息,见 .
与每个.NET数据供应器相关的类型(类,结构,枚举,等等)位于它们各自的名称空间中:
- System.Data.SqlClient. 包含了 sql server(WINDOWS平台上强大的数据库平台) .NET 数据供应器类型。
- System.Data.OleDb. 包含了 OLE DB .NET数据供应器类型。
- System.Data.Odbc. 包含了ODBC .NET数据供应器类型。
- System.Data. 包含了独立于供应器的类型,如DataSet及DataTable。
通用编程
如果你很有可能以不同的数据源为目标,并希望将代码从一种数据源移植到另一数据源,那么可以考虑对System.Data名称空间中的IDbConnection, IDbCommand, IDataReader,和IDbDataAdapter接口进行编程。Connection, Command, DataReader, 及 DataAdapter对象的所有实现都必须支持这些接口。
显示了数据访问堆栈及ADO.NET如何与其它数据访问技术,包括ADO和OLE DB,联系起来。该图还显示了ADO.NET模型中的两个管理供应器和主要对象。
关于ADO到ADO.NET的演化,见MSDN杂志2000年11月期的文章“ADO+简介:用于微软.NET框架的数据访问服务”。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接