回头再学Asp.net系列--基础篇(四)

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 03:44 点击:

 

 

.Net的数据库访问技术

 

在windows系统下的数据库访问技术主要有:ODBC(开放数据库连接),DAO(数据访问对象),RDO(远程数据对象),JDBC(java数据库连接),OLE DB(对象链接嵌入数据库),ADO(ActiveX数据对象),随着微软.net框架的推出,基于.net平台的数据库访问技术也在原来ado的基础上做出了重大的改进,升级到了全新的ado.net数据库访问技术,ado.net也是.net平台上最重要的数据库访问技术。

 

使用DAO 和MFC DAO 类,可以访问下列数据源:

 

1.用数据库引擎版本为1.x、2.x 和3.0 的Microsoft Access 或Microsoft Visual Basic 创建的、使用Microsoft Jet 数据库引擎的数据库。

2.可安装的ISAM 数据库,包括:dBASE III、dBASE IV 和dBASE 5.0;Paradox 3.x、4.x 和5.x 版

3.开放式数据库连接(ODBC) 数据库,包括但不仅限于Microsoft SQL Server、SYBASE SQL Server 和ORACLE Server。若要访问ODBC 数据库,必须具有希望访问的数据库的适当ODBC 驱动程序。有关Visual C++ 此版本中包括的ODBC 驱动程序列表以及有关获取其他驱动程序的信息,请参见ODBC 驱动程序列表。

4.Microsoft Excel 3.0、4.0、5.0 和7.0 版工作表。

5.Lotus WKS、WK1、WK3 和WK4 电子表格。

6.文本文件。

 

 

 

OLE DB 是用于访问数据的基于COM 的应用程序编程接口(API)。OLE DB 支持访问以OLE DB 提供程序可以使用的任何格式(数据库、电子表格、文本文件等)存储的数据。每个OLE DB 提供程序从某一特定类型的数据源(例如SQL Server 数据库、Microsoft Access 数据库或Microsoft Excel 电子表格)公开数据。

 

OLE DB对ODBC的兼容性,允许OLE DB访问现有的ODBC数据源。其优点很明显,由于ODBC相对OLE DB来说使用得更为普遍,因此可以获得的ODBC驱动程序相应地要比OLE DB的要多。这样不一定要得到OLE DB的驱动程序,就可以立即访问原有的数据系统。

提供者位于OLE DB层,而驱动程序位于ODBC层。

 

 

 

ADO.NET是微软.NET框架的一部分,它由一组工具和层组成,应用程序可以借此与基于文件或基于服务器的数据存储很轻松地进行通信和管理。在.NET框架中,ADO.NET类库位于System.Data命名空间下。这些类库包括连接到数据源、执行命令以及在存储、操作和获取数据等功能。对于不同的应用需要,ADO.NET设计了两种访问数据库的模式:使用DataReader对象进行基于连接的访问和使用DataAdapter对象进行的非连接的访问。ADO.NET与以前的数据访问技术相比的不同之处,就是它可以让应用程序与数据库以完全非连接的数据缓存的方式来交互以实现离线操作数据。过去使用诸如远程数据对象(RDO)来实现这样的功能,但是那只是在已有的技术上做一些修正。而ADO.NET则是基于这样的需求从头开始搭建的。

 

Connection对象提供与数据源的连接;Command对象用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令;DataReader从数据源中得到高性能的数据流;DataAdapter是连接DataSet对象和数据源的桥梁。

 

DataReader和DataSet之间的主要区别是前者的内存开销要比后者更小,当不需要在缓冲区中进行数据修改等操作,也不需要索引随机访问数据记录时,DataReader是一个更好的选择,它能提高程序的性能。DataReader是一个一次只能让你访问单行记录信息的对象,其含义是,不管结果集的大小,用DataReader来回移动该结果集时,一次只有单行记录加载到内存中;另一方面,DataSet是专门为内存缓存大量数据而设计的。

 

DataReader和DataSet两种类都支持多个结果集的概念,但实现方式不同,DataReader通过NextResult方法来支持访问多个结果集,而DataSet将多个结果集加载到其中不同的DataTable对象中。

 

接池(Connection Pool)是连接对象的集合体,实际上是指拥有一定数量的连接对象的“缓冲存储池”。连接池内部提供一种管理机制,能控制连接池内部边接对象的个数、使用次数和时间,对应用程序提供获取和释放连接的接口。

 

 

 

    在需要高度并发/高度可用应用程序中,大部分时间里用户可能会保持一个打开的连接,而且不是积极地使用该连接,因为用户在使用应用程序的其他功能,意识到这一点很重要。应用程序可以把其宝贵的资源――一个打开的连接――从本质上切割成时间片断,并且在多个用户之间来池化它。连接池在池中提供一些连接对象,对同一个数据源连接的不同请求可以用同一个连接对象来处理,这样就避免了重新建立一个连接的操作。

 建立连接池能显著地提高应用程序的性能和可伸缩性。连接池是根据每个唯一的连接字符串创

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • 浅析.NET下XML数据访问新机制
    • asp.net 面试+笔试题目第1/2页
    • C# 邮件地址是否合法的验证
    • C#高级编程:数据库连接[1]
    • asp.net 设置GridView的选中行的实现代码
    • 经典C++程序1
    • IIS 自动回收导致后台定时器失效的问题解决
    • ASP.NET GridView列表代码示例
    • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1