Oracle数据库中基本动态Web开发和应用
来源:互联网 发布:地方方言翻译软件 编辑:程序博客网 时间:2024/05/16 17:58
Oracle数据库中基本动态Web开发和应用
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)Ascursor score_cursor isselect code,name,scorefrom studentwhere code = code_in;BeginHtp.htmlopen;Htp.headopen;Htp.title ('Student's 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');--固定地显示页标题、标题、表头等信息,每次调用此页时显示的信息--是相同的Htp.tablerowclose;For score_rec in score_curLoop--利用游标的For循环为游标在网页中产生一个数据行htp.tablerowopen;htp.tabledata (score_rec.code);htp.tabledata (score_rec.name);htp.tabledata (score_rec.score);htp.tablerowclose;Endloop;Htp.tableclose;Htp.bodyclose;Htp.htmlclose;End;
通过以上代码,我们有了一个基本的用数据库中的数据动态的生成一个网页的方法,下面将建立一个简单的表单。在表单中调用上述程序和接受用户输入的考生号码,从而在客户端向用户动态地显示从数据库中查询的信息。
Create or replace procedure ScoreFormAsBeginHtp.headopen;Htp.title ('Code Entry Form');Htp.headclose;Htp.bodyopen;Htp.header (2,'Score Information Code Form');Htp.p ('');Htp.formopen ('Score_into_webpage',cmethod=>'GET');--打开ScoreForm表单。缺省情况下Score_into_webpage PL/SQL过程用GET--方法调用。GET方法在URL里显示传递的参数。Htp.tableopen ('border');Htp.tablerowopen;Htp.tabledata ('Enter Student Code');Htp.tabledata (htf.formtext ('code_in',5,5));--用一个文本框提示用户输入考号。文本框的名字必须与调用过程里的输入--参数相同。Htp.tablerowclose;Htp.tablerowopen;Htp.tablerowclose;Htp.tablerowopen;Htp.tabledata (htf.formSubmit);Htp.tabledata (htf.formReset);Htp.tablerowclose;Htp.formclose;Htp.bodyclose;Htp.htmlclose;End;
上述过程在客户端被调用后产生的HTML即可显示一动态表单接受用户输入的考号,然后传递给调用的过程score_into_webpage,从而到Oracle DBServer中查询出所需的数据,再通过该过程动态生成的HTML在Web浏览器中显示出来。
4、 结束语
作为一个大型数据库服务器,Oracle提供了一个面向网络的开发工具、应用服务器和数据库服务器的综合平台。本文利用其标准PL/SQL和内置程序包并结合WebServer讨论了基本的动态Web的开发和应用。
- Oracle数据库中基本动态Web开发和应用
- Oracle数据库中基本动态Web开发和应用
- Maven和开发JAX-RS Web应用的基本示例
- J2EE应用开发中与Oracle数据库的连接
- delphi中cxgrid和数据库搭配的基本应用
- 怎么学好WEB开发?数据库开发应用?
- web应用开发基本的几个方面
- Web开发中Linux下常用命令和应用部署
- Oracle动态Web开发实例演示
- Web应用开发和SSH
- Joomla!开发中数据库相关知识和应用 【转】
- 用Oracle ADF Essentials 开发Web 应用
- 在Web应用中动态创建PDF文件-Java基础-Java-编程开发
- Web应用程序实践:数据库应用开发
- Java WebSocket编程 开发、部署和保护动态Web应用 参考
- oracle存储过程中应用动态sql
- Oracle数据库开发(六).OCI应用初探
- Oracle数据库开发(六).OCI应用初探
- 关于索引的一个诡异问题
- Oracle动态Web开发实例演示
- 代码看多了,突然地感悟
- linux下编程学习----- 线程同步之无名信号量
- ubuntu vsftpd.conf
- Oracle数据库中基本动态Web开发和应用
- LDD 第三章学习要点 和作业
- 设计模式入门学习之工厂模式(工厂方法模式)
- C++ 扩展和嵌入 Python
- C、C++语言语言编译过程总结详解
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- 笔试题(1)
- SQL常用语句
- 获取GridView中RowCommand的当前选中行的索引或主键Id