常用的数据库访问方式是什么?
来源:asp之家 发布时间:2009-11-01 15:08:00
ASP访问数据库的方式有哪些?
在ASP中可以通过三种方式访问数据库:
1、IDC(Internet Database Connector)方式;
2、ADO(ActiveX Data Objects)方式;
3、RDS(Remote Data Service)方式。
这三种访问方式对数据库的访问都是由Internet Information Server完成的。通过Web浏览器用HTTP协议向IIS(Internet信息服务器)发送请求,IIS执行对数据库的访问,并返回一个HTML格式的文档响应。下面分别说明:
1、IDC(Internet数据库接口)
IDC是一个传统的数据库查询工具,用来定义和执行数据库查询的SQL命令,并向浏览器返回一个指定数据格式的页面。使用IDC访问数据库最大的特点是简单,几乎不需要编程就能实现对数据库的访问。
IDC使用两种文件来控制如何访问数据库以及如何创建返回的Web页面:IDC (.idc)文件和HTML扩展(.htx)文件。.idc文件必须包括ODBC数据源(Datasource)、HTML扩展文件的文件名(Template)以及要执行的SQL语句(SQLStatement)。此外还有许多可选字段,可以根据需要选用。
.htx文件是带有用<%%>或<!--%%-->括起来的附加标记的HTML文档,IDC用这些标记将动态数据添加到文档中。在.htx文件中有六个关键字(begindetail、enddetail、if、else、endif和"%z"),用来控制数据库中的数据怎样和.htx文件中HTML格式进行合并。数据库列名说明HTML文档中什么数据被返回。
要执行IDC查询,通常的做法是在HTML文件中嵌入一个.idc文件的连接。例如,我们可用下面的HTML语句向Web服务器发出请求,要求执行idctest.idc文件:
<A HREF="http://LocalHost/idctest/idctest/idctest.idc">查询</A>
当Web服务器接到请求后,就调用Httpodbc.dll(IDC),与一定的数据源相连并把SQL命令传给数据库。当SQL语句被执行后,IDC把返回的数据融入到.htx文件中。IDC再把这个文档返回给Web服务器,Web服务器再返回给浏览器。
2、ADO(ActiveX数据对象)
ADO访问数据库,更像编写数据库应用程序。它把绝大部分的数据库操作封装在七个对象中,在ASP页面中编程调用这些对象执行相应的数据库操作。
ADO是ASP技术的核心之一,它集中体现了ASP技术丰富而灵活的数据库访问功能。ADO建立了基于Web方式访问数据库的脚本编写模型,不仅支持任何大型数据库的核心功能,而且支持许多数据库所专有的特性。
ADO使用本机数据源,通过ODBC访问数据库。这些数据库可以是关系型数据库、文本型数据库、层次型数据库或者任何支持ODBC的数据库。主要优点是易用、高速、占用内存和磁盘空间少,所以非常适合于作为服务器端的数据库访问技术。相对于访问数据库的CGI程序而言,它是多线程的,在出现大量并发请求时,也同样可以保持服务器的运行效率,并且通过连接池(Connection Pool)技术以及对数据库连接资源的完全控制,提供与远程数据库的高效连接与访问,同时它还支持事务处理(Transaction),以开发高效率、高可靠性的数据库应用程序。
一般使用ADO访问数据库的ASP脚本程序应该使用Connection对象建立并管理与远程数据库的连接,用Command对象提供灵活的查询,用Recordset对象访问数据库查询所返回的结果。这三者是ADO的最核心的对象。
与IDC一样,运行该数据库访问脚本的通常做法是在HTML文件中嵌入一个.asp文件的连接。如,用HTML语句向Web服务器发出请求,要求执行intels.asp文件:
<A HREF="http://LocalHost/idctest/ado/intels.asp">查询</A>
3、RDS(远程数据服务)
RDS在IIS 4.0中,与ADO集成到一起,使用同样的编程模型,提供访问远程数据库的功能。ADO虽然能够提供非常强大的数据库访问功能,但是它不支持数据远程操作(Data Remoting)。它只能执行查询并返回数据库查询的结果,这种结果是静态的,服务器上的数据库与客户端看到的数据没有活的连接关系。如果用户端需要修改数据库,就必须构造修改数据的SQL语句,并执行相应的查询。而RDS支持数据远程操作。它不仅能执行查询并返回数据库查询结果,而且可以把服务器端的数据“搬到”用户端修改,并调用一个数据库更新命令,将用户端修改的数据写回数据库,象使用本地数据库一样。
RDS的底层是调用ADO来完成的,同样具有ADO的易用性,区别仅在于RDS需要与数据绑定控件一同使用,比如Sheridan的ActiveX DataBound Grid控件。正如ADO类似于VB中的RDO一样,RDS也类似于VB中的远程数据控件(RDC)。
RDS在ADO的基础上通过绑定的数据显示和操作控件,提供给客户端更强的数据表现力和远程数据操纵功能。可以说RDS是目前基于Web的最好的远程数据库访问方式。
猜你喜欢
- IP字段截取,判断访问者ip,根据ip来显示不同图片,很简单的程序<%ip=request.servervariables("
- 用了on error resume next则在这句往后的代码就算出错也会继续执行具体有没有错可以用err.number来判断err.num
- 发帖或者回帖的时候,系统会提示银两或经验增加的效果,慢慢出现又慢慢消失,用于取代对话框的那种是如何实现的?用google的jquery ap
- 我们可以用鼠标把Dreamweaver的层在页面内拖动,但要全屏拖动就困难了,下面是一种实现的方法:制作步骤:一、准备图片,取名/file/
- 作者:AngelGavin 出处:CSDNInternet Explorer 5.0 对 XML 提供哪个级别的支持?Inter
- 有些朋友看到这个标题可能会有疑问,难道在视图中使用*符号还有何要注意的地方吗?对于这个问题,我们先不必回答,先看一下例子吧。 我这里,使用的
- (一)连接连接通常来自Web服务器,下面列出了一些与连接有关的参数,以及该如何设置它们。1、max_connections这是Web服务器允
- 下面,我们就从当前时间来取得随机数,调用的时候用包含文件就可以了:<!--#INCLUDE VIRTUAL="/q
- 近年来流行 Ajax,而 Ajax 的本质就是 XMLHttpRequest,是客户端 XMLHttpRequest 对象的使用。相对于 A
- 块级元素块级元素生成一个元素框,(默认地)它会填充其父级元素的内容,旁边不能有其他元素。换句话说,他在元素框之前和之后生成了“分隔”符。我们
- <script> Function.prototype.$bind=function(object) {  
- Microsoft SQL Server 2000的会话上下文信息使应用程序得以设置二进制值,以便在同一会话或连接上运行的多个批处理、存储过
- 本文中我们将通过一个例子来介绍SQL Server 2005的一个Bug,首先,在建立同义词链接Oracle的时候,我们会使用下面的语句:C
- date() 获取日期,格式:2004-2-28 time() 获取时间,格式:22:24:59 now() 获取日期和时间 格式: 200
- 将有安全问题的SQL过程删除.比较全面.一切为了安全!删除了调用shell,注册表,COM组件的破坏权限MS SQL SERVER2000使
- 在支持FSO的情况下,可以显示本站内的所有ASP页面的代码适用于代码演示时在效果页面上直接显示该页面的代码而不用再对代码制作专门的页面使用方
- 为什么传输几千个表的数据时向导会失败?当前的向导体系结构会创建一个 DTS 软件包数据流以传输数据。但如果要处理几千个表,则会遇到可伸缩性限
- 由于Oracle自身比较复杂,在Linux环境下安装要涉及很多方面的因素。本文分两个方面介绍在Linux RedHat 6.0环境下Orac
- 日期和时间类型MySQL有多个表示各种日期和时间值的数据类型, 比如YEAR和DATE. MySQL存储时间的最精确粒度是秒。 然而, 能做
- 我对定格动画非常喜爱,也曾经在大学毕业时期制作过一部个人定格动画MV.恰当给CDC博客写文之机,给大家介绍下定格动画,分享下这门独特的拍摄艺