ADO和ADO.NET的区别

1. ADO与ADO.NET简介

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

2. 数据访问方式的历史   数据库

  下面简单的回顾一下微软的数据访问方式所走过的几个阶段:     服务器

  ODBC – (Open Database Connectivity)是第一个使用SQL访问不一样关系数据库的数据访问技术。使用ODBC应用程序可以经过单一的命令操纵不一样的数据库,而开发人员须要作的仅仅只是针对不一样的应用加入相应的ODBC驱动。      架构

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

  RDO – 在使用DAO访问不一样的关系型数据库的时候,Jet引擎不得不在DAO和ODBC之间进行命令的转化,致使了性能的降低,而RDO(Remote Data Objects)的出现就瓜熟蒂落了。      优化

  OLE DB – 随着愈来愈多的数据以非关系型格式存储,须要一种新的架构来提供这种应用和数据源之间的无缝链接,基于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是彻底两样的数据访问方式。

相关文章
相关标签/搜索