处理ADO与ADO.NET对比介绍研究

开发 后端
OLE DB – 随着越来越多的数据以非关系型格式存储,需要一种新的架构来提供这种应用和数据源之间的无缝连接,ADO与ADO.NET的OLE DB应运而生了。

ADO.NET统一了数据容器类编程接口,无论您打算编写何种应用程序,windows窗体,web窗体还是web服务,都可以通过同一组类来处理数据。不管在后端的数据源数sql server数据库,

1.ADO与ADO.NET既有相似也有区别,他们都能够编写对数据库服务器中的数据进行访问和操作的应用程序,并且易于使用、高速度、低内存支出和占用磁盘空间较少,支持用于建立基于客户端/服务器和 Web 的应用程序的主要功能。但是ADO使用OLE DB接口并基于微软的COM技术,而ADO.NET拥有自己的ADO.NET接口并且基于微软的.NET体系架构。众所周知.NET体系不同于COM体系,ADO.NET接口也就完全不同于ADO和OLE DB接口,这也就是说ADO与ADO.NET两种数据访问方式。

2. 数据访问方式的历史
下面简单的回顾一下微软的数据访问方式所走过的几个阶段。

ODBC – (Open Database Connectivity)是***个使用SQL访问不同关系数据库的数据访问技术。使用ODBC应用程序能够通过单一的命令操纵不同的数据库,而开发人员需要做的仅仅只是针对不同的应用加入相应的ODBC驱动。#t#

DAO - (Data Access Objects)不像ODBC那样是面向C/C++程序员的,它是微软提供给Visual Basic开发人员的一种简单的数据访问方法,用于操纵Access数据库。

RDO – 在使用DAO访问不同的关系型数据库的时候,Jet引擎不得不在DAO和ODBC之间进行命令的转化,导致了性能的下降,而RDO(Remote Data Objects)的出现就顺理成章了。

OLE DB – 随着越来越多的数据以非关系型格式存储,需要一种新的架构来提供这种应用和数据源之间的无缝连接,ADO与ADO.NET基于COM(Component Object Model)的OLE DB应运而生了。

ADO – 基于OLE DB之上的ADO更简单、更高级、更适合Visual Basic程序员,同时消除了OLE DB的多种弊端,取而代之是微软技术发展的趋势。

3. ADO与ADO.NET对照
在开始设计.NET体系架构时,微软就决定重新设计数据访问模型,以便能够完全的基于XML和离线计算模型。两者的区别主要有:
  
ADO以Recordset存储,而ADO.NET则以DataSet表示。Recordset看起来更像单表,如果让Recordset以多表的方式表示就必须在SQL中进行多表连接。反之,DataSet可以是多个表的集合。ADO 的运作是一种在线方式,这意味着不论是浏览或更新数据都必须是实时的。ADO.NET则使用离线方式,在访问数据的时候ADO.NET会利用XML制作数据的一份幅本,ADO.NET的数据库连接也只有在这段时间需要在线。

由于ADO使用COM技术,这就要求所使用的数据类型必须符合COM规范,而ADO.NET基于XML格式,数据类型更为丰富并且不需要再做COM编排导致的数据类型转换,从而提高了整体性能。
  
4. 小结
ADO.NET为.NET构架提供了优化的数据访问模型,和基于COM的ADO是完全两样的数据访问方式。

责任编辑:chenqingxiang 来源: CSDN
相关推荐

2009-12-30 16:05:20

ADO.NET实例

2010-01-04 13:16:31

ADO.NET命令

2009-09-09 10:23:59

ADO.NET连接

2010-01-04 10:48:30

ADO.NET特色

2009-12-30 16:50:26

ADO.NET事务

2009-12-22 16:42:57

ADO.NET研究

2009-11-03 16:37:10

2009-12-21 10:37:05

Ado.Net 实例

2009-12-21 15:58:19

ADO.NET集合

2009-12-21 14:04:48

ADO.NET参数

2009-12-22 15:20:25

ADO.NET功能

2009-12-22 11:17:58

ADO.NET产品

2009-12-25 14:23:35

ADO.NET设置

2009-11-11 10:27:22

ADO.NET入门

2009-12-24 14:54:25

ADO.NET使用

2009-12-22 14:15:08

ADO.Net处理数据

2009-12-22 13:49:40

ADO.net属性

2009-11-11 13:59:15

ADO.NET与ADO

2009-12-28 15:11:36

ADO.NET专家

2009-12-23 11:25:30

ADO.NET处理
点赞
收藏

51CTO技术栈公众号