以下文章主要介绍正确应用oracle组件实现动态Web数据库的实际操作步骤,包括如何使用Oracle WebServer构建Web数据库应用和PL/SQL的实际应用,以及如何利用WebServer和PL/SQL开发Oracle组件实现动态Web实例。
1.用Oracle WebServer构建Web数据库应用程序。
Oracle 8 server是一个完美的信息管理环境。它是大量数据的存储库,并为用户提供对这些数据的快速访问。它可以支持分布式处理和Web计算的C/S结构。WebServer作为其服务器选项之一,可以提供强大的功能来实现Web数据库的应用。
一般来说,要实现Web数据库应用,可以在WebServer端提供CGI/API等中间件来连接WebServer和DB Server,或者用户可以通过Web浏览器下载相关应用到客户端,直接访问客户端的数据库,如java Applet、Active X、Plug-in等。本文主要介绍如何利用Oracle 8提供的PL/SQL及其强大的内置包编写程序实现动态Web应用。
属于中间件的开发。中间件负责管理WebServer和DBServer之间的通信,并提供应用服务。它可以直接调用外部程序或脚本代码访问数据库,因此可以提供与数据库相关的动态HTML页面,或者执行用户查询,将查询结果格式化成HTML页面后通过WebServer返回给用户的浏览器。其总体结构如下:
网络浏览器& larr& rarr互联网& larr& rarrWeb服务器& larr& rarrCGI/API & larr;& rarrOracle数据库服务器
2、PL/SQL
Oracle从版本6开始就支持一种流程处理语言PL/SQL,并将其作为所有Oracle工具的标准编程语言,使得所有的流程Oracle组件都可以在Oracle服务器产品中实现。使用PL/SQL可以实现以下重要功能:
存储过程,即存储在Oracle数据库中并为您的组织执行特定重要工作的程序(或代码段);
数据库触发器,即存储在数据库中的代码,可以由应用程序生成的事件触发;
包,即多个进程的组合作为单个程序单元代码存储在数据库中。
其中,内置包是预先生成的程序,存储在数据库中,可以在PL/SQL代码块中调用,可以根据需要传递参数。它可以将结果直接输出到终端窗口;直接从操作系统文件中读写数据;执行动态SQL和其他功能。常用的有HTP、HTF、OWA-UTIL等。下面将以动态在线查询评分为例说明其在动态Web中的应用。
3.利用WebServer和PL/SQL开发Oracle组件实现动态Web实例
现有的考生成绩数据库需要为用户提供在线查询成绩的功能。首先考虑使用HTP包根据用户输入的考生号在数据库中查询相应的信息,返回一个网页。代码如下:
[pre]创建或替换程序score _ into _ web page(code _ in in number)作为cursor score_cursor is select code,name,score from student其中code = code _ inbegin http . html open;HTP . head open;Htp.title('学生的分数信息');Htp.headcloseHTP . body open(cattributes = & gt;bgcolor = & quot# 80800 & quot');HTP . table open(border ');Htp.tablecaption('分数信息','中心');Htp.tablerowopenHtp.tableheader('学生代码');Htp.tableheader(“学生姓名”);Htp.tableheader(“学生成绩”);固定显示页面标题,标题,页眉等信息,每次调用这个页面时显示的信息。
是同一个Htp.tablerowclosescore_cur循环中的For score_rec使用游标的For循环在网页中为游标生成数据行。
htp.tablerowopenHTP . tabledata(score _ rec . code);HTP . tabledata(score _ rec . name);HTP . tabledata(score _ rec . score);htp.tablerowclose结束循环;Htp.tablecloseHtp.bodycloseHtp.htmlclose结束;[/pre]通过上面的代码,我们有了一个从数据库中的数据动态生成网页的基本方法。下面将建立一个简单的表单。在表单中调用上述程序,接受用户输入的考生编号,从而在客户端将从数据库中查询到的信息动态显示给用户。
[pre]创建或替换Begin Htp.headopen形式的过程记分卡;Htp.title('代码录入表单');Htp.headcloseHTP . body open;Htp.header (2,'分数信息代码形式');HTP . p(');HTP . form open(' Score _ into _网页',cmethod = & gtGET’);打开记分卡表单。
Score _ into _网页PL/SQL过程默认由GET方法调用。GET方法在URL中显示传递的参数。
HTP . table open(' border ');Htp.tablerowopenHtp.tabledata('输入学生代码');HTP . tabledata(htf . formtext(' code _ in ',5,5));使用文本框提示用户输入测试号。文本框的名称必须与调用过程中的输入参数相同。
Htp.tablerowcloseHtp.tablerowopenHtp.tablerowcloseHtp.tablerowopenHTP . tabledata(htf . form submit);HTP . tabledata(htf . form reset);Htp.tablerowcloseHtp.formcloseHtp.bodycloseHtp.htmlclose结束;[/pre]上述进程在客户端被调用后生成的HTML可以显示一个动态表单接受用户输入的测试号,然后传递给被调用的进程score _ into _网页,这样就可以在Oracle DBServer中找到需要的数据,然后这个进程动态生成的HTML就可以显示在Oracle组件实现的动态web浏览器中。
4.结束语
作为大型数据库服务器,Oracle为面向网络的开发工具、应用服务器和数据库服务器提供了一个全面的平台。利用其标准PL/SQL和内置包,结合WebServer,讨论了基本动态Web的开发和应用。
关键词:Oracle组件、Web数据库
优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。本文链接:http://www.123down.cn/gonglue/227401.html