ADO.NET杂记

前言:积极加强基础知识!这一阵子在看<<C#与.NET 3.0 高级程序设计>>,由于是借了图书馆的书,所以把一部分东西记下来,以免到时候书还了,知识也跟着还了.

1ADO与ADO.NET的区别

在学习ADO.NET之前首先要分清ADO与ADO.NET的区别:

(1)与ADO相比,ADO.NET是托管代码库,因此它同样遵从托管库的一些规则,比如使用CLR内存管理协议和一些类型(类,接口,枚举,结构和委托)。

(2)传统ADO主要针对于客户端/服务器端系统,ADO.NET考虑到了离线应用并采用了DataSet,其代表任意数据的关联表的本地副本,也就是数据库服务器的数据在内存中的拷贝,在内存中修改后,使用关联的数据适配器提交回数据库。

(3)与ADO相比,ADO.NET全面支持XML,从数据库内获得的数据被序列化成XML,通过HTTP传输就可以突破防火墙的限制。

2ADO.NET类的分类

从下面的图可以简单的看出ADO.NET的分类,共分成两类,连接类和非连接类。

    image

ADO.NET的数据适配器(DataAdapter)共分成OLEDB,Sql Server,Sql Server Mobile,ODBC,Oracle等几种,在使用中,要注意以下几点:

(1)没有特定的数据提供器直接映射到JET引擎(ACCESS数据库),取而代之的是OLEDB。

(2)OLEDB数据提供器能让你访问所有支持基于传统COM的OLEDB协议的数据库。但是由于其后台是通过COM对象来实现数据交互,所以性能方面要受到很大影响,因此,在情非得已的情况下不采用OLEDBB。 SQL数据适配器绕过了OLEDB,因此性能大幅上升。


Googel搜索:

ODBC(开放数据库互连):是Microsoft引进的一种早期数据库接口技术。它实际上是ADO的前身。早期的数据库连接是非常困难的。每个数据库的格式都不一样,开发者得对他们所开发的每种数据库的底层API有深刻的了解. 因此,能处理各种各样数据库的通用的API就应运而生了。也就是现在的ODBC(Open Database Connectivity), ODBC是人们在创建通用API的早期产物。有许多种数据库遵从了这种标准,被称为ODBC兼容的数据库。

OLEDB(对象链接和嵌入数据库)位于ODBC层与应用程序之间. 在你的ASP页面里,ADO是位于OLEDB之上的"应用程序". 你的ADO调用先被送到OLEDB,然后再交由ODBC处理. 你可以直接连接到OLEDB层,如果你这么做了,你将看到服务器端游标(recordset的缺省的游标,也是最常用的游标)性能的提升。


posted @ 2008-07-13 00:51  GIS小能  阅读(368)  评论(5)    收藏  举报