基于ASP.NET的数据库连接技术研究

 

基于ASP.NET的数据库连接技术研究

 

Authors:yyliao and zjtang

 

1  引言

   数据库软件是日常生活中最重要的一类软件;在数据库软件中,经常需要对数据库进行插入、删除和查询等操作,在进行这些操作前需要先建立与数据库之间的连接。ASP.NETMicrosoft公司推出的用于编写动态网页的一项功能强大的新技术,是Microsoft公司动态服务器页面(ASP).NET技术的集合。ASP.NET具体强大的数据库操纵能力,被广泛应用于数据库软件开发,是一种流行的数据库开发技术。因此,研究ASP.NET下的数据库连接技术具有重要应用价值。一直以来,人们对数据库连接技术进行了大量的研究。文献[1]研究了ODBC的三层体系结构以及各组成部分的主要功能,利用ODBC实现应用程序与异构数据库的连接;文献[2]Web系统中的数据库连接池技术进行了分析,提出了一种数据库连接池设计和实现方案;文献[3]介绍了PowerBuider中通过INI文件、ODBC配置和多数据库动态切换等三种数据库连接方法。

本文首先分析ADO.NET技术,然后对ASP.NET中建立数据库连接的关键技术进行研究,通过实例分析不同数据源下数据库连接的建立;将这些连接技术应用到软件开发中,能有效解决ASP.NET的数据库连接问题。

2  ADO.NET技术

    ASP.NET中的数据库访问技术是通过ADO.NET[4-5]实现的。ADO.NETADO发展的产物,拥有比ADO更强大的功能,为用户提供了更好的数据访问解决方案。它能提供断开连接的数据访问;允许数据集中包含多个表及他们之间的关系;提供了一个记录导航范例,允许进行无序数据的访问;能够使用XML传送数据,同时还可以使数据穿越防火墙传递。

ADO.NET包括两个核心组件:DataSet.NET数据提供程序。前者在断开式数据服务中起关键作用,可用于多种不同的数据源、XML数据以及管理应用程序本地的数据。后者是一组包括ConnectionCommandDataAdapter DataReader对象在内的组件;提供了对数据操作和对数据快速、只进、只读访问的方法。其中,Connection对象提供对数据源的连接;Command对象执行数据库命令,以获得返回数据、修改数据、运行存储过程以及发送或检索参数信息等;DataAdapter使用Command对象在数据源中执行SQL命令,以便将数据加载到DataSet中,使对DataSet中数据的更改与数据源保持一致;DataReader是除DataSet之外的另外一种处理数据记录的方法,他能直接从数据库中按顺序读出各项数据记录,而且在内存中同时只保留一项记录。

ASP.NET文件访问数据库需要先引人ADO.NET命名空间,不同的数据源需要引入不同的命名空间,具体如表1所示。

1  ADO.NET命名空间

ADO.NET命名空间

说明

System.Data

提供ADO.NET架构的基类

System.Data.SqlClient

针对Microsoft SQL Server数据源所设计的数据存取类

System.Data.OleDB

针对OLEDB数据源所设计的数据存取类

System.Data.Odbc

针对ODBC数据源所设计的数据存取类

System.Data.OracleClient

针对Oracle数据源所设计的数据存取类

3  数据库连接

    在一个ASP.NET页面文件对数据库进行查询、插入、更新等操作前,首先要建立应用程序与数据库的连接,然后再进行相应的操作处理。数据库连接建立的主要步骤有:

    STEP 1  在页面文件中引入相关的ADO.NET命名空间;

STEP 2  设置数据库连接的参数

STEP 3  根据连接参数,创建一个数据库连接对象

STEP 4  执行数据库连接操作

下面将通过实例对四种常见数据库连接的建立进行分析。

3.1  Microsoft SQL Server数据库连接

    建立与Microsoft SQL Server数据库连接,首先需要正确设置连接参数,其中需要指明数据库服务器、连接的数据库、登录数据库的用户名和密码。此处所举例子假设数据库服务器是本机,因此参数是server=(local);连接的数据库是student,因此参数是database=student;用户名是超级用户sa,因此参数是uid=sa;登录密码是123456,所以参数是pwd=123456。以下是连接建立的步骤:

(1)命名空间的引人

<%@ import Namespace="System.Data" %>

<%@ import Namespace="System.Data.SqlClient" %>

(2)设置连接参数

string MyConnString="server=(local) ;database=student;uid=sa;pwd=123456 ";

(3)创建数据库连接对象

SqlConnection MyConn=new SqlConnection(MyConnString);

(4)执行数据库连接

MyConn.Open();

 

3.2  Microsoft Access数据库连接

   假设要连接的Access数据库名为student.mdb,其存放的目录与当前页面文件所在的目录相同;那么具体的连接步骤如下所示:

(1)命名空间的引人

<%@ import Namespace="System.Data" %>

<%@ import Namespace="System.Data.OleDb" %>

(2)设置连接参数

string MyConnString=" Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";

MyConnString = MyConnString + Server.MapPath("student.mdb");

(3)创建数据库连接对象

OleDbConnection MyConn=new OleDbConnection(MyConnString);

(4)执行数据库连接

MyConn.Open();

3.3  Mysql数据库连接

    Mysql是一个开源数据库,可以在Mysql官方网站上免费下载。它可以运行在LinuxWindowUnix等不同操作系统,其中在Linux操作系统下有着广泛的应用。假设ASP.NET网站运行在Window平台,而Mysql数据库则运行在Linux平台,本文以此为例通过Window平台的ODBC建立与Mysql的数据库连接。首先在Window平台上安装Mysql数据库的连接工具MyODBC,然后在Window下的ODBC管理器中建立一个名为student的数据源,并确认能连接上Linux服务器。如果以上步骤建立成功,那么ASP.NET文件中建立与数据库连接的步骤如下:

(1)命名空间的引人

<%@ import Namespace="System.Data"%>

<%@ import Namespace="System.Data.Odbc"%>

(2)设置连接参数

string MyConnString="dsn=student";

(3)创建数据库连接对象

OdbcConnection MyConn=new OdbcConnection(MyConnString);

(4)执行数据库连接

MyConn.Open();

3.4  Oracle数据库连接

   Oracle数据库是大型数据库系统中常用的数据库,连接Oracle数据库需要指明数据源名称、登录数据库服务器的用户及密码等。假设数据源名称为student,用户名为system,密码为123456;于是可得到连接Oracle数据库的具体代码:

(1)命名空间的引人

<%@ import Namespace="System.Data"%>

<%@ import Namespace=" System.Data.OracleClient "%>

(2)设置连接参数

string MyConnString="Data Source=student;user=system;password=123456;";

(3)创建数据库连接对象

OracleConnection MyConn=new OracleConnection(ConnectionString);

(4)执行数据库连接

MyConn.Open();

4  结束语

    本文对ASP.NET中的数据库连接技术进行了研究,总结了建立数据库连接的步骤,通过实例分析了几种常用数据库连接的建立,较好地解除了ASP.NET中建立数据库连接的问题。由于网站中的许多页面需要连接数据库,为了方便数据库连接参数的设置,可将连接参数存在网站的配置文件Web.config中,在网站首页把连接参数从配置文件中读取,存放在Session变量中,在需要使用连接参数时,只需要从Session变量读取即可;其次,当使用完一个数据库连接后,一定要将它关闭,具体方法为MyConn.Close();因为当连接超出作用域后,不会自动关闭。如果不关闭连接,设计出来的应用程序将不能有效地处理庞大数据的用户访问。

 

参考文献

1  苏召学.利用ODBC实现应用程序与异构数据库的连接.计算机应用与软件.2004,21(12): 3031,68.

2  邹雯奇,戚宇林.数据库连接池技术在WEB系统开发中的应用.微计算机信息.2006,22(5-3):178179,259.

3  陈明,杨劲松.PowerBuilder编程数据库连接方法.微计算机应用.2006,27(3):362364.

4  叶顺源.ASP.NET网络开发关键技术与实践. 北京:中国铁道出版社.2006.

5  李英俊,毕斐.ASP.NET动态网站开发教程.北京:清华大学出版社.2006.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值