B/S 模式下ADO.NET 数据库访问技术的设计及应用
2014-01-03吴杨,孙蔚
吴 杨,孙 蔚
(陕西工业职业技术学院信息工程学院,咸阳,712000)
1 B/S 模式及ADO.NET 的相关阐述
随着Internet 技术的发展,使得浏览器成为展现信息的主要平台之一,通过浏览器展示数据的平台称之为B/S(Browser/Server)结构。该结构是建立在C/S 结构之上的,同时也是对C/S 结构的一种改进及变化,实质上是一种三层C/S 结构。在该体系当中,用户仅仅需要利用浏览器向网络上的web 服务器发出请求,接受相关请求,其详细步骤如下如1所示。B/S 结构与C/S 结构相比较,具有以下几方面优势:部署方便,维护容易;通过http 协议访问Web 服务器,容易通过防火墙,因此配置难度较低。
ADO.NET 来源于ADO(ActiveX Data Objects),提供平台互用性及可收缩的数据访问,也增强了对非连接编程模式的支持,还支持RICH XML;允许与不同类型的数据源及数据库进行交互;是一组用于与数据源进行交互的面向对象的类库。用户与数据库系统的交互过程则是:第一步,用户通过用户界面面向系统进而发出数据操作的请求,而用户界面在接受数据请求后传到ADO.NET;第二步,ADO.NET 分析用户所传来的数据,通过数据库访问接口实现数据源的交互,向数据源发送SQL 指令;第三步,ADO.NET 就会将所获取的访问结果最终传向用户界面。
2 基于B/S 模式下ADO.NET 数据库访问技术的设计
2.1 ADO.NET 数据库访问的结构
ADO.NET 可将组件分为两大类,一类是数据操作,另一类是数据存取。数据的操作及存取则主要是通过数据提供程序及数据集共同完成的。数据提供程序(Data Provider)则包括Data Reader、Connection 及DataAdapter,通过这些组件进而实现数据的存取,所提供的程序分为一般数据提供程序及SQL Server 数据提供程序;数据集表示一种实际的数据,而该种数据则是用来连接数据库及执行命令的。
2.2 设计ADO.NET 数据库访问技术的两种模式
根据不同的数据访问需求,进而在B/S 模式下设计两种连接数据库的方式,一种是连接模式,另一种是断开模式。
其一,连接模式下的数据库访问技术。所谓连接模式是指对数据的读取及操作均在断开数据库连接之前进行操作,通过DataReader 对象来实现。利用DataReader 对数据库中的只读及只进的数据流,其查询结果在查询执行正在进行时返回,并将其存储到客户端的网络缓冲区中。通过利用DataReader可提高应用程序的性能,究其原因在于该种模式可对数据立即进行检索,同时只在内存中占用一行,这样一来,就相应的减少了占用内存空间量,如下图2 所示。
其二,断开模式下的数据库访问技术。该种模式是指对数据的读取在断开数据库连接之前所进行的工作。而该种模式则是使用DataSet 以及DataAdapter 对象来实现的,利用DataAdapter 对象,进而向DataSet 中填充一定数据。在整个过程中DataAdapter 对象所扮演的是数据库与DataSet 之间的桥梁。当DataAdapter 对象采用Fill 方法将所需要查询的结果填充到DataSet 中,进而实现其离线处理。同时允许在DataSet 中进行改、修及删等相关操作。其断开模式访问数据库技术的原理如下图3 所示:
3 ADO.NET 数据库访问技术的应用
首先,连接数据库,利用ADO.NET 从数据库中发送及检索数据,创建对数据库的连接,一般情况下,针对不同的数据库,通过创建相应的连接类来创建相关连接,实现性能的优化。例如:如果访问SQL Server 数据库,则创建SqlConnection类,如果访问Access 数据库,则创建OleDbconnection 类。其次,操作数据库。连接数据库之后,就是操作数据库(数据的查询、修改及删除等,相应的就是传送SQL 指令)。对于数据库的操作可采用多种方式来实现,最为常用的对象就是SqlDataAdpater 对象、SqlComrsand 对象。最后,获取数据集。数据集的获取一般分为面向流及面向集的数据访问,如果是轻量级的数据访问,为了减轻应用服务器的压力,应使用通过DataReader 数据对象。如果是离线数据访问,则应使用DataSet 数据对象。此外,对于业务逻辑较为复杂的数据处理任务,可以考虑利用存储过程来提高数据访问的性能。
4 结束语
综上所述,ADO.NET 可访问关系数据、应用程序数据及XML 等,在B/S 模式下ADO.NET 数据库访问可通过两种模式来进行访问,一种是连接模式下的数据库访问,一种是断开模式下的数据访问。另外,可通过对存储过程进行性能优化。在今后的研究中,则需要对ADO.NET 技术进行进一步的探讨,进而设计出一种方便、简单及高效的访问技术。
图1 B/S 结构模式
图2 ADO.NET 数据库访问技术的连接模式
图3 ADO.NET 数据库访问技术的断开模式
[1]吴健,刘培奇,卫尊义等.基于ASP.NET 的企业网络信息系统的设计与实现[J].信息技术,2013,(6):172-175.
[2]王平,贾化萍.C/S 和B/S 结合模式下应用系统的研究与开发[J].电脑与信息技术,2006,14(1):50-53.
[3]孙仁鹏.ADO.NET 在多层模式下应用的研究[J].计算机工程与设计,2010,31(16):3621-3624.