首页 > 数据库 > SQL Server > 正文

Odbc连SQL Server数据库的几种方法

2024-08-31 00:48:26
字体:
来源:转载
供稿:网友



odbc连sql server数据库的几种方法

 

这篇文章是针对在csdn论坛 中的一些想知道这方面技术的网友而写的。因为最近我本人在论坛上看到很多网友提到这个问题,所以就写了这篇文章,以飨读者。

sql server 是一种高效的关系数据库系统,它与windows nt/2000及windows 9x等操作系统紧密集成。也是今天市场上几种大型关系型数据库(sql server/oracle ybase等)之一。对于今天复杂的b/s服务器系统来说,sql server是一个很好的选择。

一、先建立一个用来测试的数据库db_test

第一步:启动sql server7.0数据库,进入“sql server enterprise manager“管理界面,右键点击[服务器名]选择[新键][database]进入”database porperties“界面。如图1所示。



                                      图1

第二步:在图1中的“name“里输入数据库名db_test。在”automatically“前面的复选框里打勾,即使sql server能够自动地按需要增加数据库文件的大小。单击“确定”完成数据库的创建。

二、    接下来就以我们创建好的db_test数据库为例,讲怎样用odbc连sql server数据库的几种方法。

asp脚本中可以通过三种方式访问数据库:
● idc(internet database connector)方式
● ado(activex data objects)方式
● rds(remote data service)方式

1.          internet数据库接口(idc)
idc是一个传统的数据库查询工具,用来定义和执行数据库查询的sql命令,并向浏览器返回一个指定数据格式的页面。使用idc访问数据库最大的特点是简单,几乎不需要编程就能实现对数据库的访问。不过,今天很少使用idc方式来连接数据库,所以我在这里就不描述了。

2.activex数据对象(ado)

ado(activex data object),是一组优化的访问数据库的专用对象集,它为asp提供了完整的站点数据库解决方案,它作用在服务器端,提供含有数据库信息的主页内容,通过执行sql命令,让用户在浏览器画面中输入,更新和删除站点数据库的信息。ado的主要优点是易用、高速、占用内存和磁盘空间少,所以非常适合于作为服务器端的数据库访问技术。
ado主要包括connection,recordset和command三个对象, 它们的主要功能如下:
  connection对象:负责打开或连接数据库文件;
  recordset对象:存取数据库的内容;
  command对象:对数据库下达行动查询指令,以及执行sql server的存储过程。

利用ado组件连接数据库有两种方式:

1、直接连接数据库方式

<%

dim  conn,strconn

set conn=server.createobjec(“adodb.connection”)

strconn=”driver={sql server};server=servername;”& _

“uid=username;pwd=password;”& _

“database=databasename”

conn.open strconn,1,1

%>

2、创建数据源名(dsn)方式

配置odbc数据源有三种类型,就是用户数据源、系统数据源和文件数据源。数据源名(dsn),根据microsoft的官方文档,dsn的意思是“应用程序用以请求一个连到odbc数据源的连接(connection)的名字”,也就是说,它是一个代表odbc连接的符号。一个dsn配置好了,它就已经蕴涵诸如数据库文件名、所在目录、数据库驱动程序、用户id、密码等项目。因此,当建立一个连接时,你不用去考虑数据库文件名、它在哪儿等等,只要给出它在odbc中的dsn即可。下面给出了创建dsn的全过程。(以win2000操作系统,设置系统dsn为例)

在“控制面板”中双击“管理工具“—>双击“odbc”图标,进入“odbc数据源管理器“界面。选择” 系统dsn “页,进入”创建新数据源“界面,如图2。



然后选择驱动程序为“sql server“,如图2所示。按[完成]进入”创建到sql server的新数据源“界面,输入名称为”sjy”,描述,服务器。如图3所示。



后按[下一步]。按默认设置再按[下一步],在”更改默认的数据库“选项前的复选框中打勾,选择你的数据库。如图4所示。



按[下一步],保留默认,对后按[完成],就这样,一个数据源sjy建立好了。

下面是通过数据源连接数据库的代码,为了数据库的安全起见,我们在golbal.asa文件里写连接代码,然后在页面上调用。

<script language="vbscript" runat="server">

sub application_onstart

application("connectdatasourcestring")="dsn=sjy;uid=sa;pwd=;"

sub application_onend

end sub

</script>

在asp页面上调用

<%

dim conn,strconn

set conn= server.createobjec(“adodb.connection”)

conn.open  application("connectdatasourcestring")

%>

3、远程数据服务(rds)

ado虽然能够提供非常强大的数据库访问功能,但是它不支持数据远程操作(dataremoting)。而rds就比ado更进一步,它支持数据远程操作。它不仅能执行查询并返回数据库查询结果,而且这种结果是“动态的”, 服务器上的数据库与客户端看到的数据保持“活的连接关系”。即把服务器端的数据搬到客户端,在客户端修改数据后,调用一个数据库更新命令,就可以将客户端对数据的修改写回数据库,就象使用本地数据库一样。

由于rds与ado集成,rds的底层是调用ado来完成的,所以也可以将rds理解为ado的rds,即activex数据对象的远程数据服务。rds在ado的基础上通过绑定的数据显示和操作控件,提供给客户端更强的数据表现力和远程数据操纵功能。可以说rds是目前基于web的最好的远程数据库访问方式。

三、总结:

本文讲述了asp访问数据库的三种方式,它们三者各有各的特色。idc十分简单,使用.idc文件和.htx文件分别完成数据库的访问与输出任务,但是使用起来不灵活。ado是asp中推荐使用的方式,它功能强大,使用方便,是asp的核心技术之一,但是它在提供用户远程操作数据库的功能时,比较复杂,实现起来有一定的难度。而rds是基于ado的,并提供远程操作数据库的强大工具。所以在需要提供高性能、高可靠性的远程数据操作功能时,rds是更为理想的选择。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表