ASP加ACCESS数据的基本知识

来源:互联网 发布:淘宝首页文字字体 编辑:程序博客网 时间:2024/05/29 18:17
 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
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 家长总是说孩子怎么办 幼师打了小朋友怎么办 幼儿园老师欺负孩子怎么办 被老师冷落怎么办豆瓣 不满老师对孩子怎么办 老师总找茬孩子 怎么办 老师总针对孩子怎么办 老师看你不舒服怎么办 高中孩子不爱学习怎么办 孩子太倔不听话怎么办 老师老说孩子怎么办 孩子13不懂礼貌怎么办 老师不重视你 怎么办 我娃好动不听话怎么办 初三娃不听话该怎么办 小孩爱动不听话怎么办 宝宝吃饭讨神怎么办 孩子速度太慢怎么办 一年级做作业慢怎么办 小学三年级数学差怎么办 拼音基础太差怎么办 小孩学拼音差怎么办? 孩子字词基础差怎么办 孩子的语文不好怎么办 数学一直学不好怎么办 小孩数学成绩差怎么办 理科生语文不好怎么办 小学阅读题不好怎么办 如果孩子考不好怎么办 6岁不认识数字怎么办 数学一点都不会怎么办 初一数学太差怎么办 三年级孩子数学差怎么办 三年级孩子数学很差怎么办 初中学习不好高中怎么办 四年级孩子数学不好怎么办 孩子学习不开窍怎么办 孩子学习太笨怎么办 老师是个小人怎么办 孩子写字太差怎么办 孩子写字下手重怎么办