Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29335341
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: 数据库开发技术

2009-05-13 11:50:56


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的配置方法。


image

图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配置完成。

image
图1.18 选择配置Access数据库DSN

image
图1.19 ODBC Microsoft Access 安装对话框

image
图1.20 选择Access数据库

image
图1.21 完成对test.mdb数据库系统DSN的配置

(2)SQL Server数据库系统DSN的配置方法

Step1:在图1.17所示的对话框中单击“添加”按钮,在弹出的对话框中的驱动程序中选择SQL Server项。如图1.22所示。

image
图1.22 选择配置SQL Server数据库DSN

Step2: 单击“完成”,这时将弹击一个对话框,在对话框的名称文本输入框中输入要配置的DSN文件名如“test_dsn_sql”在服务器文本输入框中输入 SQL Server的服务器名或IP地址,如果SQL Server也是本机的话则输入“127.0.0.1”。如图1.23所示。

image
图1.23 建立数据源连接到SQL Server (1)

Step3:单击“下一步”,这时弹出一个如图1.24的对话框,此时我们如果在第二步时选择的是通过IP地址连接服务器,请选择客户端配置选项,调出如图1.25所图示配置对话框。

image
图1.24 建立数据源连接到SQL Server (2)

Step5:单击“下一步”,进入到如图1.26所示的对话框,在“改变默认的数据库”的复选框中打勾,并选择test数据库(该数据库的建立方法请参看前边的章节),如图所示。

image
图1.26 建立数据源连接到SQL Server (3)

Step6:单击“下一步”,弹出如图1.27所示的对话框。

Step7:单击“完成”,弹出如图1.28所示的对话框。

Step8:通常,在设置完连接SQL Server数据库的DSN的时候都要进行数据源测试,所以我们要单击“测试数据库”按钮以进行测试,如果测试成功则会出现如果图1.29所示的对话框,否则请检查请边各步骤是否正确完成。


image
图1.27 建立数据源连接到SQL Server (4)

image
图1.28 建立数据源连接到SQL Server (5)
image
图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


阅读(978) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~