1.3.2 创建和配置ODBC数据源
ADO
可以与ASP结合,以建立提供数据库信息的主页内容,在主页画面执行SQL命令,让用户在浏览器画面中输入,更新和删除站点服务器的数据库信息;ADO使
用RecordSets对象,作为数据的主要接口;ADO可使用Vbscript,JavaScript语言来控制数据库的访问,与查询结果的输出显示画
面;ADO可连接多种的数据库,包括SQL
Server、Oracle、Informix等支持ODBC的数据库。因此,在使用ADO访问数据库之前我们还有一项重要的工作要做,那就是创建和配置
ODBC数据源。
1. ODBC的定义
首先,还是也让我们来解释一下有关ODBC的概念,这将有利于下面内容的理
解。ODBC(Open Database
Connectivity开放式数据库互联)是微软推出的一种工业标准,一种开放的独立于厂商的API应用程序接口,可以跨平台访问各种个人计算机、小型
机以及主机系统。ODBC作为一个工业标准,绝大多数数据库厂商、大多数应用软件和工具软件厂商都为自己的产品提供了ODBC接口或提供了ODBC支持,
这其中就包括常用的SQL SERVER、ORACAL、INFORMIX等,当然也包括了Access。
数据库驱动程序使用
Data Source Name (DSN) 定位和标识特定的 ODBC 兼容数据库,将信息从 Web
应用程序传递给数据库。典型情况下,DSN 包含数据库配置、用户安全性和定位信息,且可以获取 Windows NT
注册表项中或文本文件的表格。通过 ODBC,我们可以选择希望创建的 DSN 的类型:用户、系统或文件。
为了更好地让大家理解上一段话,我们接下来来解释一下其中的几个名词:
●
DSN:根据MICROSOFT的官方文档,DSN的意思是“应用程序用以请求一个连到ODBC数据源的连接(CONNECTION)的名字”,换句话
说,它是一个代表ODBC连接的符号。它隐藏了诸如数据库文件名、所在目录、数据库驱动程序、用户ID、密码等细节。因此,当建立一个连接时,你不用去考
虑数据库文件名、它在哪儿等等,只要给出它在ODBC中的DSN即可。
● FILE DSN: 当我们讨论这个问题时,先看看其他的DSN类型
● SYSTEM DSN:这种DSN可以被任何登录到系统中的用户使用。
● USER DSN:这是为特定用户建立的DSN。只有建立这个DSN的用户才能看到并使用它。在上面的两种情况中,DSN的细节都储存在系统的注册表中。
2.配置ODBC数据源
接下来我们就讲述一下系统DSN的配置过程。
首
先在 Windows 的“开始”菜单打开“控制面板”,双击“ODBC”图1.标,然后选择“文件
DSN”属性页,单击“添加”,如图1.17所示。接下来的操作将视我们要配置的数据库系统的不同而有不同的操作,由于我们介绍的主要是基于Access
数据库和SQL Server数据库的,所以接下来的两个部分我们讲分别讲述Access数据库系统DSN和SQL
Server数据库系统DSN的配置方法。
图1.17 配置系统DSN
(1)Access数据库系统DSN的配置方法
Step1:单击添加后弹出如图1.18所示的对话框,选择数据源为 Driver do Microsoft Access (*.mdb)单击完成。
Step2:这时弹出一个 “ODBC Microsoft Access安装”的对话框,在对话框的数据源名文本输入框中输入配置的DSN文件名,如果test_dsn然后单击 “选择”按钮。如图1.19所示。
Step3:
这时将弹出一个如图1.20所示的对话框,在对话框的数据库名中输入 “c:\test.mdb”
(该数据库的建立方法请参看前边的章节),或是从右边的目录浏览器中选择“驱动器C”-> “test.mdb”
。选择数据库完成后,单击确定按钮将回到图1.19的界面。
Step4:单击“确定”,这时出现的界面如图1.21所示,请注意,这时在系统数据源列表框中出现了“test_dsn” 项。Access数据库系统DSN配置完成。
图1.18 选择配置Access数据库DSN
图1.19 ODBC Microsoft Access 安装对话框
图1.20 选择Access数据库
图1.21 完成对test.mdb数据库系统DSN的配置
(2)SQL Server数据库系统DSN的配置方法
Step1:在图1.17所示的对话框中单击“添加”按钮,在弹出的对话框中的驱动程序中选择SQL Server项。如图1.22所示。
图1.22 选择配置SQL Server数据库DSN
Step2:
单击“完成”,这时将弹击一个对话框,在对话框的名称文本输入框中输入要配置的DSN文件名如“test_dsn_sql”在服务器文本输入框中输入
SQL Server的服务器名或IP地址,如果SQL Server也是本机的话则输入“127.0.0.1”。如图1.23所示。
图1.23 建立数据源连接到SQL Server (1)
Step3:单击“下一步”,这时弹出一个如图1.24的对话框,此时我们如果在第二步时选择的是通过IP地址连接服务器,请选择客户端配置选项,调出如图1.25所图示配置对话框。
图1.24 建立数据源连接到SQL Server (2)
Step5:单击“下一步”,进入到如图1.26所示的对话框,在“改变默认的数据库”的复选框中打勾,并选择test数据库(该数据库的建立方法请参看前边的章节),如图所示。
图1.26 建立数据源连接到SQL Server (3)
Step6:单击“下一步”,弹出如图1.27所示的对话框。
Step7:单击“完成”,弹出如图1.28所示的对话框。
Step8:通常,在设置完连接SQL Server数据库的DSN的时候都要进行数据源测试,所以我们要单击“测试数据库”按钮以进行测试,如果测试成功则会出现如果图1.29所示的对话框,否则请检查请边各步骤是否正确完成。
图1.27 建立数据源连接到SQL Server (4)
图1.28 建立数据源连接到SQL Server (5)
图1.29 测试数据源
Step9:单击“确定”,这时在系统数据源列表框中出现了“test_dsn_sql” 项,SQL Server数据库系统DSN配置完成。
注意,在配置ODBC数据源以前,请确定数据库已建立完成,如果是配置SQL Server数据源的话还得确定SQL Server在运行状态。
1.3 ODBC与ADO对象
1.3.3 用ADO实现访问数据库
前面我们已经谈过有关ADO的概念,现在我们要开始讲述如何使用ADO来访问数据库,首先,让我们来看一下在服务器端所需要的ADO执行环境:
● 安装Windows NT/2000 Server或是Personal Web Sever
● 安装Internet Information Server(IIS)3.0(含)以上版本
● 在用户端所需要的ADO执行环境,只需要一般的浏览器即可。
接下来我们来看一下ADO包括的七个对象:
● Command:定义对数据源进行操作的命令;
● Connection:建立一个数据源的连接;
● Error:提供数据访问错误的细节;
● Field:表示一般数据类型的字段;
● Parameter:表示Command对象的参数;
● Property:表示由数据源定义ADO对象的动态特性;
● Recordset:数据库命令结果集对象。
灵活运用上述对象的属性、方法可以达到许多很好的效果。但通过ADO访问数据库的基本步骤通常都是以下五步:
● 创建数据库源名
● 创建数据库链接
● 创建数据对象
● 操作数据库
● 关闭数据对象和链接
(1)创建数据库源名,即创建和配置ODBC数据源,该步骤在上一节我们已详细讲述。
(2)创建数据库链接:
ASP文件中如果要访问数据,必须首先创建与数据库的链接,其语法如下:
Set Conn = Server CreateObject (“ADOBD.CONNECTION”)
这条语句创建了链接对象Conn,接下来:
Conn.Open “dsn_name”,“username”,“password”
这条语句打开链接,用到了DSN,本例中DSN名为“dsn_name”。其后的两个参数分别是访问数据库的用户名和口令,为可选参数。
如我们前边对系统DSN的设置,这一段代码可以写为:
访问Access数据库系统DSN:
Set Conn = Server CreateObject (“ADOBD.CONNECTION”)
Conn.Open “test_dsn”
访问SQL Server数据库系统DSN:
Set Conn = Server CreateObject (“ADOBD.CONNECTION”)
Conn.Open “test_dsn_sql”,“sa”,“passwd”
其中的“sa”为访问SQL Server数据库的帐号,“passwd”为该帐号的访问口令,具体的内容创建数据库时的设定。
在ADO中还可以不通过ODBC而直接与Access数据相连,这种方法在个人主页中大量使用(因为其用户无法进行服务器ODBC设置操作),我们这里只简单提一下方法:
Connection.Open “driver = {Microsoft Access Driver (*.mdb) };
dbq=c:\test.mdb”
(3)创建数据对象:
RecordSet保存的是数据库命令结果集,并标有一个当前记录。以下是创建方法:
Set RecordSet = Conn.Execute(sqtStr)
这条语句创建并打开了对象RecordSet,其中Conn是先前创建的链接对象,SqlStr是一个串,代表一条标准的SQL语句,例如:
SqlStr = “SELECT * FROM authors”
Set RecordSet=Conn.Execute (SqlStr)
这条语句执行后,对象RecordSet中就保存了表authors中的所有记录。
(4) 操作数据库:
Execute方法的参数是一个标准的SQL语句串,所以我们可以利用它方便地执行数据插入、修改、删除等操作,例如:
qlStr = "DELETE FROM authors"
Conn.Execute (SqlStr) /执行删除操作
SqlStr = "UPDATE authors SET salary=3 WHERE id= ‘FZ0001’"
Conn.Execute (SqlStr) /执行修改操作
(5) 关闭数据对象和链接:
在使用了ADO对象之后,一定要记住关闭它,因为它使用了服务器的资源,如果不释放的话将导致服务器资源浪费并影响服务器性能。通过调用方法close实现关闭,然后再释放它,例如:
Conn.Close