Oracle组件实现动态Web数据库

文章作者 100test 发表时间 2007:03:14 13:40:25
来源 100Test.Com百考试题网


  1、 用Oracle WebServer构建Web数据库应用

  Oracle 8服务器是一个完善的信息管理环境。它是一个大量数据的储藏所,并给用户提供对这些数据的快速访问。它能够支持C/S结构进行分布式处理和Web计算等。利用其服务器选件之一的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返回给用户浏览器。其一般结构如下所示:

  Web浏览器 ←→ Internet ←→ Web Server ←→ CGI/API ←→ Oracle DB Server

  2、 PL/SQL

   Oracle从其版本6开始支持一种过程处理语言PL/SQL,并将其作为所有Oracle工具的标准编程语言,从而所有的过程组件在Oracle服务器产品中都能实现。用PL/SQL可以实现下述重要功能:

   存储过程,即存放在Oracle数据库中的程序(或代码段)并为你的机构完成特定的重要工作;

   数据库触发器,即存放在数据库中的代码,可由应用所产生的事件触发;

   程序包,即把多个过程组合在一起当作单个程序单元的代码存放在数据库中。

其中内置程序包是预先生成的,存储在数据库中,且能在PL/SQL代码块中调用的根据需求可以传递参数的程序。它可以完成把结果直接输出到终端窗口;直接从操作系统文件读写数据;执行动态的SQL等多项功能。常用的如HTP,HTF,OWA-UTIL等。下面将通过一个动态的网上查询分数的实例来说明其在动态Web中的应用。

 3、 利用WebServer和PL/SQL开发动态Web实例

  现有一考生成绩库需在网上向用户提供查询成绩的功能。首先可考虑利用HTP程序包根据用户输入的考生号到数据库中查询相应的信息,返回一个网页。代码如下:

  Create or replace procedure score_into_webpage (code_in in number)

   As

  cursor score_cursor is

  0select code,name,score

  from student

  where code = code_in.

  Begin

   Htp.htmlopen.

   Htp.headopen.

   Htp.title (Students score information).

   Htp.headclose.

   Htp.bodyopen (cattributes=>bgcolor = "#80800").

   Htp.tableopen(border).

   Htp.tablecaption (Score Information,center).

   Htp.tablerowopen.

   Htp.tableheader ( Student Code).

   Htp.tableheader ( Student Name).

   Htp.tableheader ( Student Score).

--固定地显示页标题、标题、表头等信息,每次调用此页时显示的信息

--是相同的


相关文章


Oracle下调数据库许可价格以适应多芯CPU
Oraclelogminer使用方法总结
剖析Oracle10g数据库的各种存储形式
Oracle中自动共享内存管理特性深入分析
Oracle组件实现动态Web数据库
SP封面文章:Oracle在华陷入光辉孤立
深入了解Oracle10g中新的多重集运算符(上)
Oracle中空扩音机玩味浓
Oracle中巧取指定记录与巧用外关联查询
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛