ASP加ACCESS数据的基本知识

本文深入探讨了ASP环境中数据库连接的实现,详细介绍了ADO技术,着重对比了OLE-DB与ODBC两种连接方式,包括它们的架构、Connection对象的使用、连接字符串的构造及实例应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 ASP数据库连接的实现                     返回
1 引言
ASP是目前最流行的Web程序设计技术之一,它使用ADO技术对数据库进行存取。ADO是Microsoft目前主要的数据存取技术,它是Microsoft各种数据存取技术,如ODBC、DAO、RDO、OLE-DB演化发展的结果。
ADO是封装了OLE-DB复杂接口的COM对象,它以极为简单的COM接口来存取各种不同的数据。图2是ADO数据存取的架构图。从图中可以看出,ADO可以直接藉由OLE-DB来存取不同数据源的数据,也可以间接籍由ODBC来存取关系型数据源的数据。本文针对这两种方式初步探讨ASP应用程序中数据库连接的实现。
Application/Browser
ADO
OLE-DB
ODBC
SQL Data
Non SQL Data
Mainframe and
Legancy Data
2 Connection对象
ADO中的Connection对象代表与底层数据供应程序的一个连接,它保持着数据供应程序的信息。在ASP应用环境下,Connection对象代表从Web服务器到数据库服务器的一个连接。Connection对象调用Open方法来实现与数据库的连接,它的语法如下:
Connection.Open [ConnectionString],[UserID],[Password],[Options]
Open方法的参数及说明如表1:

表 1 Open方法的参数及说明
参 数
说 明
ConnectionString
包含连接细节的字符串。可以是ODBC DSN的名称、数据链接文件的名称或真实的连接细节。可选参数。
UserID
连接期间,用户使用的名字。覆盖连接字符串中提供的任何用户名。可选参数。
Password
用户的口令。覆盖连接字符串中提供的任何口令。可选参数。
Options
可以是adAsyncConnect,指定异步地建立连接。忽略这个参数,则建立一个同步连接。注:因为脚本语言不能接收来自ADO的事件,所以异步连接不用于ASP环境,一般忽略这个参数。
从表1可以看出, Open方法实现与数据库连接的关键,是给出正确的ConnectionString。以下以SQL Server2000数据库为例,给出各种连接方式下的ConnectionString。
3 OLE-DB连接方式
3.1 字符串方式
ConnectionString="Provider=SQLOLEDB.1; Data Source=YourSrc;
UID=YourUid; PWD=YourPwd; Database=YourDB"

ConnectionString="Provider=SQLOLEDB.1; Data Source=YourSrc;
User ID=YourUid; Password=YourPwd; Initial Catalog=YourDB"
其中,Provider为服务于连接的底层OLE-DB数据供应程序的名称;Data Source为服务于底层数据供应程序的数据源名称;UID或User ID为连接时使用的用户名;PWD或Password为连接时使用的密码;Database或Initial Catalog为位于数据库服务器上的一个特定数据库。
3.2 数据链接文件方式
创建一个空文本文件,将其扩展名改为.udl来创建一个数据链接文件。双击该文件打开Data Link Properties对话框,在Provider页选择提供者(不要选择基于ODBC的提供者,因为这样实际上是间接藉由ODBC实现数据库连接),在Connection页指定实现连接的细节。使用数据链接文件进行连接的ConnectionString如下:
ConnectionString="File Name=C:\YourFile.udl"
用记事本打开数据链接文件,可以看到第三行文本是一个连接字符串,指定了连接的细节。如果在Connection页选中了“Allow saving password”,则在该文件中也会记录用户的密码信息。
4 ODBC连接方式
使用ODBC连接方式,首先要配置ODBC数据源。ODBC数据源配置成功后,就可以相应指定下面介绍的连接字符串进行数据库连接。
4.1 ODBC的系统DSN连接方式
ConnectionString="DSN=SysDSNName;UID=YourUid;PWD=YourPwd;Database=YourDB"
其中,DSN为系统DSN的名称,其它参数与3.1中介绍的参数相同。
4.2 ODBC的文件DSN连接方式
ConnectionString="FileDSN=FileDSNName;UID=YourUid;PWD=YourPwd;Database=YourDB"
其中,FileDSN为文件DSN的名称,其它参数与3.1中介绍的参数相同。
用记事本打开相应的.dsn文件(一般位于C:\Program Files\Common Files\ODBC\Data Sources目录下),可以看到,类似于数据链接文件,该文件中也指定了连接的细节。
4.3 ODBC的无DSN连接方式
ConnectionString="Driver={SQL Server};Server=YourServer;
UID=YourUid;PWD=YourPwd;Database=YourDB")
此方式不用配置ODBC数据源。其中,Driver为ODBC驱动程序名称,Server为数据库服务器名称,其它参数与3.1中介绍的参数相同。
4.4 数据链接文件方式
首先,采用3.2中的方法创建数据链接文件。但进行文件配置时,在Provider页中选择基于ODBC的提供者——Microsoft OLE DB Provider for ODBC Drivers。此方式的ConnectionString与3.2中介绍的相同。
5 实例
下面是采用OLE-DB的字符串方式,连接到SQL Server2000数据库的示例代码:
<%
ConnectionString="Provider=SQLOLEDB.1; Data Source=YourSrc;
UID=YourUid; PWD=YourPwd; Database=YourDB";初始化连接字符串
Set Conn=Server.CreateObject("ADODB.Connection") ;创建Connection对象
Conn.Open ConnectionString ;调用Open方法,建立连接
… ;进行数据存取操作
Conn.Close ;关闭连接
Set Conn=Nothing ;释放Connection对象
%>
需要注意的是,应尽可能晚的建立连接,同时又尽可能早的关闭连接,这样保证连接打开的时间最短,可以充分发挥OLE-DB的连接缓冲池的作用,节省连接资源;另外,在实际应用中,为避免在每个ASP页面中都输入ConnectionString中的连接细节(这会给程序维护带来麻烦),一般使用包含文件或连接状态来存储ConnectionString,方法如下。
(1)使用包含文件
新建一个ASP文件,不妨命名为Connection.asp,并在其中输入以下代码:
<%
ConnectionString="Provider=SQLOLEDB.1; Data Source=YourSrc;
UID=YourUid; PWD=YourPwd; Database=YourDB"
%>
在ASP页面顶端加入这一行语句:
<!--#Include File="Connection.asp"-->
就可以直接在该页中使用ConnectionString。
(2)使用连接状态
在global.asa文件中加入下面的代码:
<%
Sub Application_Onstart()
ConnectionString="Provider=SQLOLEDB.1; Data Source=YourSrc;
UID=YourUid; PWD=YourPwd; Database=YourDB"
Set Application("ConnectionString")= ConnectionString
End Sub
%>
此方法将ConnectionString存储在应用程序变量中,所以,在ASP页面中可以使用如下代码实现与数据库的连接:
<%
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open Application("ConnectionString")
%>
6 对比各种连接方式
尽管籍由OLE-DB和ODBC都可以实现对数据的存取,但从ADO数据存取架构图(图2)中可以看出,使用ODBC的方式要比OLE-DB的方式多一个层,因此,当访问相同的数据时,ODBC的方式可能会比OLE-DB速度慢一些。
OLE-DB的字符串连接方式与ODBC的系统DSN、文件DSN连接方式相比,省去了建立ODBC数据源的步骤,操作更为简洁。
另外,从形式上我们又可以把连接方式分为:字符串、数据链接文件、DSN三种方式。直接的连接字符串方式可能速度快一些,因为它提供所有的连接细节。数据链接文件方式需要从文件中读出连接细节,DSN方式需要从注册表中读取ODBC数据源的连接细节。
综上,在ASP应用程序中,OLE-DB的连接方式要优于ODBC的连接方式;字符串连接方式要优于非字符串连接方式。
参考文献:
[1]李维.Delphi5.x ADO/MTS/COM+高级程序设计篇.北京:机械工业出版社,2000
[2]Weissinger A. 冯延晖,王永庆,刘海明译.ASP技术手册.北京:中国电力出版社,2001
[3]Anderson R等.刘福太等译.ASP3高级编程.北京:机械工业出版社,2000
[4]李华斌.Active Server Pages实用教程.北京:中国水力水电出版社,2000
人事管理系统是一个企事业单位不可缺少的部分,它的内容对于企事业单位的决策者和管理者来说都至关重要,所以企业人事管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我们将以开发一套企业人事管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。 --------------摘要-------------- 人事管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过分析,我们使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。 整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发。 论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案。 关键字 Visual Basic 6.0 Access2000 控件 窗体 域 Abstract The system of managing census register file is a typical application of managing information system (know as MIS),which mainly includes building up data-base of back-end and developing the application interface of front-end. The former required consistency and integrality and security of data. The later should make the application powerful and easily used. By looking up lots of datum, we selected Visual Basic presented by Microsoft because of its objective tools in Win32. VB offered a series of ActiveX operating a data-base. It can give you a short-cut to build up a prototype of system application. The prototype could be modified and developed till users are satisfied with it. Key Word Visual Basic 6.0、Access2000、ActiveX、Form、Field
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值