当前位置:文档之家› 访问Web数据库的几种解决方案

访问Web数据库的几种解决方案

摘要:#$%&’$&%的发展使数据库技术与(&)技术的结合成为研究的热点,*+#、#,*和-./是访问(&)数据库的基本方案。

与*+#和#,*相比较,-./作为一种全新的.&’0&’端技术具有先进的体系结构,其运行效率高、执行速度快、支持多线程、程序编写简单,且能实现复杂功能,是目前访问(&)数据库的最有效的解决方案。

关键词:(&)数据库;-./;*+#;#,*中图分类号:1/232文献标识码:-随着#$%&’$&%的发展以及人们对信息共享要求的提高,数据库与(&)紧密地结合在了一起,数据库技术与(&)技术的结合成为当前研究的热点。

(&)数据库访问技术是#$%&’$&%技术和数据库技术的交叉点,基于中间件技术访问(&)的原理如下图所示:中间件负责管理(&)服务器和数据库服务器之间的通信并提供应用程序服务。

它能直接或调用外部程序或脚本代码来访问数据库,因此它可以提供与数据库相关的动态4156页面,将用户的查询结果格式化为4156页面,通过(&)服务器返回给浏览器。

最基本的中间件技术有通用网关接口*+#、#$%&’$&%数据库连接器#,*,还有微软新开发的-7%80&9,:%:;)<&7%技术-,;,它作为-./的核心技术之一,集中体现了-./技术简洁而强大的数据库访问功能。

=>通用网关接口*+#通用网关接口*+#?*@AA@$+:%&B:C #$D%&’E:7&F 是(&)服务器在调用外部程序时的接口规范协议,它规定了一套标准的参数格式和环境变量。

*+#程序的作用是扩展(&)服务器的功能,执行(&)服务器所不能完成的任务。

其基本思想是:客户端即(&)浏览器通过411/与(&)服务器进行交互,(&)服务器通过*+#与数据库服务器进行交互,数据库服务器提供数据库连接。

外部*+#程序通过环境变量、命令行参数、标准输入输出与(&)服务器进行通信,传递有关参数和处理结果,应用在(&)数据库上时,它可以实时动态地生成4156文件,根据用户的需求输出动态信息,把数据库服务器中的数据作为信息源对外提供服务,把(&)服务和数据库服务结合起来。

*+#程序通常是一个可执行文件,*+#程序的执行一般有两种方式,一种是通过GH6直接调用,另一种是通过交互式主页里的I@’A 表单调用,在用户填完表单所需的信息后按确认按钮启动*+#程序。

*+#接口能支持;,J*类型的数据库,从而能够支持常用的.K6.&’0&’、;’:7L&、-77&MM 、I@NO’@等数据库。

利用*+#连接数据库的开发访问(&)数据库的几种解决方案郭鲜凤?太原大学机电系,山西太原P2PPP3F收稿日期:"PP"Q P"Q =R作者简介:郭鲜凤?=3S"—F ,女,太原人,太原大学机电系讲师。

T@U’$:L ;E 1:8CU:$G$80&’M8%C太原大学学报"PP"年S 月第2卷第"期总第=P 期V@L>2W@>".UAW@>=P步骤包括:创建调用#$%程序的&’()文件;创建*+,#数据源;创建#$%程序,建立与数据源的连接,执行-.)语句,返回结果。

/0%1234132数据库连接器%+#%1234132数据库连接器%+#5%1234132 +6267683#9113:294;是一个传统的数据库查询工具,用来定义和执行数据库查询的-.)命令,并向浏览器返回一个指定数据格式的页面。

(<:4989=2的>37服务器%%-5<1234132%1=94? @62<91-34A34;的一个动态链接库&22B9C7:0CDD 是建立在%-EF%基础之上的,通过*+,#访问数据库的应用。

使用%+#访问数据库最大的特点是简单,几乎不需要编程就能实现对数据库的访问。

%+#使用两类文件控制如何访问数据库和如何构造输出>37页面,即%1234132数据库连接器50%+#;文件和&’()扩展50&’G;文件。

对于任何一个%+#方式的>37数据库应用都需要一对%+#脚本文件和&’()模板文件。

而且%+#脚本文件必须放在>37服务器上,而&’G文件则可放到任何>37服务器能访问的地方。

利用%+#访问>37数据库需做如下工作:在服务器上配置*+,#数据源;编写&’()文件进行H94@输入,并以F982方式激发对应的%+#文件,把输入的信息传递给%+#脚本文件;编写%+#脚本,用+62689I4:3字段指向用*+,#配置的数据库文件,用’3@BD623字段指向格式化结果输出的&’()模板文件50&’G;,在-.)-2623@312字段中存放对数据进行操作的-.)语句;编写扩展的&’()文件,即&’G 文件,将执行-.)语句的结果数据以&’()格式输出。

用%+#访问>37数据库的具体过程是:客户端浏览器通过&’’F发出请求,>37服务器%%-接受到请求后,分析文件的扩展名,如果为0%+#,则交与%+#接口模块处理;%%-装载&22B9C7:0CDD,分析JK)后面的参数并提供给&22B9C7:0CDD,&22B9C7:0CDD读取%+#脚本文件提供的信息,并将-.)-2623@312中需由H94@表单替换的信息进行代替,拼接成一个完整的-.)语句;&22B9C7:0CDD装载数据库的*+,#驱动程序,并与数据库建立连接,连结成功后就把完整的-.)语句提交给数据库驱动程序供其生成结果;执行完-.)语句之后,&22B9C? 7:0CDD读取%+#脚本文件中指定的&’G文件,然后用&’()模板文件中的标志控制生成由数据库结果组成的&’()文件;最后&22B9C? 7:0CDD将生成的主页发回%%-,再由%%-返回给客户端浏览器。

"0E-F技术E-F5E:2<A3-34A34F6L38动态服务器主页;是目前流行的>37服务器应用程序开发技术,它是微软开发的基于><1C9M8N’-34A34O0P和(<:4989=2%1234132%1=94@62<91-34A34O0P5%%-O0P;的开放式脚本开发环境,它很好地把&’()和脚本开发融合在一起,提高了编程的灵活性,降低了开发难度。

E-F可以使用几乎所有的脚本语言来编写脚本,如Q,-:4<B2、R6A6-:4<B2、FSK)等。

这些脚本可以执行应用程序逻辑,并能够调用E:2<A3G组件执行特殊任务,如数据库查询、文件输入输出等。

E-F技术是%%-在服务器端的一种扩展。

当支持E-F的>37服务器调用以068B为扩展名的文件时,自动执行其脚本语句,可以产生和执行动态、交互式、高效率的站点服务器应用程序。

E-F文件扩展名为068B,以区别于以0T2@为扩展名的&’)(文件。

E-F文件同样是文本文件,它包括文本、&’()标记和E-F文件特有的脚本语句。

E-F文件在>37服务器上执行,浏览器本身不处理脚本,只处理由%%-将查询结果转换后的标准&’()页面。

当用户访问一个E-F 时,首先>37-34A34调用E-F文件,读取E-F 文件的全部内容后,开始执行所有的-:4<B2命令,生成标准&’()页,再把这些&’()页传到客户端的浏览器上,完成操作。

这样客户端就无需关心服务器端的网页使用何种脚本了。

无论服务器端使用何种脚本,E-F都会生成符合&’()标准的网页回送客户端,因此设计者不必担心用户所使用的浏览器类型。

在E-F环境下实现数据库访问实际上是使用E-F提供的数据对象E+*组件来实现的。

E+*通过在>37服务器上设定*+,#,提供了与任何一种#$%&兼容数据库的连接,它与’()结合执行,建立提供数据库信息的网页内容,在网页画面执行(*+命令,用户在浏览器页面输入、更新和删除,-.服务器数据,由服务器对,-.数据库进行相应的操作。

用’()技术访问数据库,首先需建立#$%&数据源,然后指定对数据库进行操作的(*+语句,再使用’$#的属性和方法结合/01+语法设置输出结果。

’()技术访问数据库的工作流程包括请求、分析、执行、封装和应答。

当浏览器向,-.服务器申请访问一个’()文件时,,-.服务器调用’()文件,然后解释执行每一条脚本语句,用’$#组件通过#$%&接口访问数据库,再把执行的结果生成/01+文件传给客户端。

"2几种方案的比较以上几种访问,-.数据库的技术各有其特点。

&34技术开发的比较早,相对比较成熟,并且能够被大多数的,-.服务器所支持。

利用&34访问,-.数据库,可以用如(5-66、)78+、&、9:;:等多种程序设计语言编写&34程序,用&语言编写的&34程序具有速度快、安全性高等特点。

&34的跨平台性能非常好,&34应用程序可以移植到绝大部分操作系统上。

但用&34方式访问数据库也存在许多不足之处,在性能方面,&34程序不能为多个客户所共享,一个&34程序只能处理一个用户请求,这样每有一个用户请求都会激活一个服务器端的&34进程,当客户端用户请求数量多时,会挤占大量的系统资源,造成效能低下。

,-.服务器的性能也随着急剧下降;在效率方面,&34应用程序每次运行都需要打开和关闭数据库连结,效率低,操作费时;在数据库安全性方面,缺少用户访问控制,对数据库难以设置安全访问控制;另外,&34程序开发复杂,需要许多底层开发的知识,程序编写比较困难,并且数据传输的方法也不够稳健。

利用4$&访问,-.数据库非常简单,几乎不用编程,只要掌握/01+、(*+及4$&语句,就能实现动态数据库访问。

也可以使用<=>?@A ):B-等可视化编程工具方便直观地设计4$&文件和/01+模板/0C文件。

可连接(*+(-=;-=、#=:D6-和其它支持#$%&的数据库系统。

相关主题