基于ASP访问SQL Server的分析
[摘要]采用B/S(浏览器用及务器)模式的管理信息系统改善了C/S模式的不足,为用户提供了更好的服务体系。ASP是B/S结构的典型代表,就ASP连接数据库SQL Server的问题进行分析研究。
[关键词]ASP 访问 SQL Server 分析
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)1020064-01
无论是编写论坛页面,还是购物车程序,无论是页面中常见的新闻频道,还是网上的会员管理,几乎都离不开后台数据库的支持。在ASP中使用Activex数据对象(即ADO),对数据库进行读取和写入操作。
一、ADO的基本特性
Microsoft ActiveX Data Objects (ADO) 使您能够编写应用程序,通过 OLE DB 提供者访问和操作数据库服务器中的数据。它的主要优点是易于使用,速度快,内存支出低,占用磁盘空间少。ADO 支持用于建立客户端/服务器和基于 Web 的应用程序的主要功能。ADO 同时具有远程数据服务 (RDS) 功能。使用 RDS,可在一次往返过程中实现三步操作:将数据从服务器移动到客户端应用程序或 Web 页,在客户端对数据进行操作,然后将更新结果返回服务器。
ActiveX数据对象(ADO)常用对象的功能:连接对象(Connection)。代表与一个数据源的唯一的对应关系。例如,你可以用连接对象来打开一个对Microsoft SQL Sever的连接。记录集对象(RecordSet)。代表一组记录。例如,你可以用一个记录集对象来修改一个SQL Sever表中的记录。命令对象(Command)。代表一个命令。例如,你可以用命令对象执行一个SQL存储过程或有参数的查询。
二、ASP访问SQL Server数据库
(一)直接连接SQL Server数据库(OLEDB)
与数据库的所有数据传递的工作都要通过一个打开的连接来进行。在对一个数据库进行数据的插入和读取之前,必须先打开与这个数据库的连接。这种打开和关闭一个连接的操作与打电话的过程有相似之处。在你能够与具体的数据库进行通信之前,必须先建立连接。
数据库调用的基本格式一:
conn = Server.CreateObject("ADODB.Connection")‘用文件的方式打开ACCESS库
conn.Open (“driver={SQL Server};database=数据库名;uid=用户名;pwd=密码”)
‘利用ODBC的系统DSN来打开数据库
rs = conn.Execute( "数据库表或SQL语句" )
例如代码:
<%var conn = Server.CreateObject("ADODB.Connection");
conn.Open("driver={SQLServer};database=xdf;server=localhost;uid=sa;pwd=");
rs = conn.Execute( "select * from 办公用品库存" );
rsToTable (rs);
conn.close();
%>
conn.Open("driver={SQL Server};database=xdf;server=localhost;
uid=sa;pwd=")用于打开指定SQL Server数据库,其中:server:SQL Server服务器名称,这里为本机localhost
database:SQL Server数据库名称,这里为xdf 。uid:为登录使用用户名,这里使用的是SQL Server的系统管理员sa 。pwd:登录用验证密码,这里是空。
(二)使用数据源连接SQL Server数据库(DSN)
除了可以直接在打开数据库的命令中指定对应数据库的类型及数据库的位置和名称之外,无论是ACCESS数据库,还是SQL Server数据库,都可以使用ODBC(即开放的数据库连接)数据源的方式打开数据库。
基本语法如下所示:
创建Connection对象
var conn=Server.CreateObject("ADODB.Connection")
利用ODBC的系统DSN来打开数据库
Conn.Open( “DSN名称”,“用户名”,“密码”)
取出指定数据表中的数据信息
rs = conn.Execute( "数据库表或SQL语句" )
这里的DSN为指定的数据源名称,配置DSN数据源的具体步骤如下所示:1.启动“控制面板”,选择“管理工具”选项,找到“数据源”选项并打开。2.选择“系统DSN”选项卡,在该选项卡中列出了可以提供给本机所有用户的数据源,即所有的系统数据源,单击“添加”按钮。3.在出现的对话框中选择数据源对应的驱动程序类型,这里选择SQL Server。单击“完成”按钮。4.在所示的对话框中输入命名数据源的名称,例如:neworiental,并选择待连接的SQL Server服务器的名称。单击“下一步”按钮。5.在所示的对话框中选择身份验证的方式,单击“下一步”。(选择网络ID)6.在所示的对话框中选择默认使用的数据库名称,这里选择xdf,单击“下一步”。
在向导的提示下,单击“确定”按钮即可完成数据源的配置。
在连接数据库的页面中插入以下下代码
<%var conn = Server.CreateObject("ADODB.Connection");
conn.Open("neworiental","sa","");
rs = conn.Execute( "select * from 办公用品库存" );
rsToTable (rs);
conn.close();
%>
三、ASP访问数据库分析
怎么选择使用ODBC系统或文档DSN连接数据库?请用OLEDB提供者代替他,这是一种速度更快而且无需使用DSN的数据库连接技术。OLEDB处于ODBC层和应用之间。对于ASP页面来说,ADO是OLEDB上面的一种“应用”。ADO调用首先发送给OLEDB,然后才被发送给ODBC层。但是你也可以直接连接到OLEDB层,而且如果你这么做了,你就会看到性能的进一步提升,访问速度加快了。使用OLEDB提供者,您不必再为了创建系统DSN恳求ISP(或数据库管理员/网站管理员),也不必为了网站文档位置的变化而修改配置。使用DSN访问则将数据库的真实物理地址隐藏,安全性能得到进一步加强。但是可移植性差,需要不断的根据环境修改参数。
参考文献:
[1]柴巧叶,《ASP数据库编程》.地质出版社 . 2006-8-1.
李劲、谢兆阳,SQL Server 2000数据库设计与系统管理[M].北京:清华大学出版社.
新概念电脑教程数据库应用与开发SQL Server 2000[M].北京:电子工业出版社,2002.