随着计算机互连网络的发展,Internet正成为世界各地进行信息交流的主要方式之一。作为Internet的一个重要组成部分,全球信息网WWW(WorldWideWeb)采用HTML形式组织信息,并用超链结的方式进行各种信息的集成与传递,具有界面友好,操作简单等特点,用户可直接利用Web浏览器进行方便的浏览、查询各种信息。因此,作为各机构组织和企业展示信息的窗口,Web服务器所能提供的信息量和功能就直接影响到其自身的形象和客户访问量。
在传统的Web服务器中,文本和其他信息都是以文件的形式来进行存储和管理的,向用户浏览器所提供的网页也大多是静态的。当用户在浏览器中输入HTML文档的URL时,则访问一个在WebServer上的文件,它只有在某个网络管理员在Web服务器上放置一个同名的新文件时才改变内容。随着WWW的应用领域的拓展,静态Web页也越来越不能满足信息服务的动态性、实时性和交互性的要求,这就要求将数据库技术与WWW结合起来,以实现对数据资源的高效存取。
1、用OracleWebServer构建Web数据库应用
Oracle8服务器是一个完善的信息管理环境。它是一个大量数据的储藏所,并给用户提供对这些数据的快速访问。它能够支持C/S结构进行分布式处理和Web计算等。利用其服务器选件之一的WebServer,可以提供实现Web数据库应用的强大功能。
一般来说,实现Web数据库应用可以在WebServer端提供CGI/API等中间件来连接WebServer和DBServer,也可以让用户通过Web浏览器把相关应用下载到客户端运行,在客户端直接访问数据库,如JavaApplet,ActiveX,Plug-in等。本文主要介绍利用Oracle8提供的PL/SQL和其功能强大的内置程序包来编写程序以实现动态的Web应用。属于利用中间件开发的一种。中间件负责管理WebServer和DBServer之间的通信并提供应用程序服务,它能够直接调用外部程序或脚本代码来访问数据库,因此可以提供与数据库相关的动态HTML页面,或执行用户查询,并将查询结果格式化成HTML页面再通过WebServer返回给用户浏览器。其一般结构如下所示:
Web浏览器←→Internet←→WebServer←→CGI/API←→OracleDBServer
2、PL/SQL
Oracle从其版本6开始支持一种过程处理语言PL/SQL,并将其作为所有Oracle工具的标准编程语言,从而所有的过程组件在Oracle服务器产品中都能实现。用PL/SQL可以实现下述重要功能:
存储过程,即存放在Oracle数据库中的程序(或代码段)并为你的机构完成特定的重要工作;
数据库触发器,即存放在数据库中的代码,可由应用所产生的事件触发;
程序包,即把多个过程组合在一起当作单个程序单元的代码存放在数据库中。
其中内置程序包是预先生成的,存储在数据库中,且能在PL/SQL代码块中调用的根据需求可以传递参数的程序。它可以完成把结果直接输出到终端窗口;直接从操作系统文件读写数据;执行动态的SQL等多项功能。常用的如HTP,HTF,OWA-UTIL等。下面将通过一个动态的网上查询分数的实例来说明其在动态Web中的应用。