以下的文章主要介绍的是正确应用Oracle组件来实现动态Web的数据库的实际操作步骤,其中包括如何用Oracle WebServer来构建Web的数据库应用以及PL/SQL 的实际应用,利用WebServer和PL/SQL开发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组件在Oracle服务器产品中都能实现。用PL/SQL可以实现下述重要功能:

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

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

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

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

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

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

文本格式复制代码打印?
  1. [pre]Create or replace procedure score_into_webpage (code_in in number)
  2. As cursor score_cursor is select code,name,score from student where code = code_in;
  3. Begin Htp.htmlopen;
  4. Htp.headopen; Htp.title ('Student's score information');
  5. Htp.headclose; Htp.bodyopen (cattributes=>'bgcolor = "#80800"'); Htp.tableopen(border');
  6. Htp.tablecaption ('Score Information','center');
  7. Htp.tablerowopen; Htp.tableheader (' Student Code');
  8. Htp.tableheader (' Student Name');
  9. Htp.tableheader (' Student Score');

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

是相同的 Htp.tablerowclose; For score_rec in score_cur Loop 利用游标的For循环为游标在网页中产生一个数据行

文本格式复制代码打印?
  1. htp.tablerowopen; htp.tabledata (score_rec.code); htp.tabledata (score_rec.name);
  2. htp.tabledata (score_rec.score);
  3. htp.tablerowclose; Endloop;
  4. Htp.tableclose; Htp.bodyclose;
  5. Htp.htmlclose; End;[/pre]

通过以上代码,我们有了一个基本的用数据库中的数据动态的生成一个网页的方法,下面将建立一个简单的表单。在表单中调用上述程序和接受用户输入的考生号码,从而在客户端向用户动态地显示从数据库中查询的信息。

文本格式复制代码打印?
  1. [pre]Create or replace procedure ScoreForm As Begin Htp.headopen;
  2. Htp.title ('Code Entry Form');
  3. Htp.headclose; Htp.bodyopen; Htp.header (2,'Score Information Code Form');
  4. Htp.p (' ');
  5. Htp.formopen ('Score_into_webpage',cmethod=>'GET');

打开ScoreForm表单。

缺省情况下Score_into_webpage PL/SQL过程用GET 方法调用。GET方法在URL里显示传递的参数。

文本格式复制代码打印?
  1. Htp.tableopen ('border'); Htp.tablerowopen; Htp.tabledata ('Enter Student Code');
  2. Htp.tabledata (htf.formtext ('code_in',5,5));

用一个文本框提示用户输入考号。文本框的名字必须与调用过程里的输入 参数相同。

文本格式复制代码打印?
  1. Htp.tablerowclose;
  2. Htp.tablerowopen; Htp.tablerowclose; Htp.tablerowopen;
  3. Htp.tabledata (htf.formSubmit); Htp.tabledata (htf.formReset);
  4. Htp.tablerowclose; Htp.formclose; Htp.bodyclose; Htp.htmlclose; End;[/pre]

上述过程在客户端被调用后产生的HTML即可显示一动态表单接受用户输入的考号,然后传递给调用的过程score_into_webpage,从而到 Oracle DBServer中查询出所需的数据,再通过该过程动态生成的HTML在Oracle组件实现动态Web浏览器中显示出来。

4、 结束语

作为一个大型数据库服务器,Oracle提供了一个面向网络的开发工具、应用服务器和数据库服务器的综合平台。本文利用其标准PL/SQL和内置程序包并结合WebServer讨论了基本的动态Web的开发和应用。

本文转载于 http://www.itjianghu.net/120128/40936572314814876.htm

转载于:https://blog.51cto.com/3595505/771668

关于Oracle组件如何正确实现动态Web的数据库相关推荐

  1. 《jQuery与JavaScript入门经典》——第 1 章 动态Web编程简介 1.1理解Web服务器浏览器范式...

    本节书摘来自异步社区<jQuery与JavaScript入门经典>一书中的第1章,第1.1节,作者:[美]Brad Dayley著,更多章节内容可以访问云栖社区"异步社区&quo ...

  2. NAVEX:为动态Web应用程序生成精确且可扩展的漏洞

    摘要 现代多层web应用程序由多个动态特性组成,这使得其漏洞分析从纯静态分析角度具有挑战性.我们描述了一种克服web应用程序动态特性带来的挑战的方法.我们的方法结合了静态分析技术指导下的动态分析,以便 ...

  3. linux安装web服务器httpd,Linux_linux构建动态WEB服务器安装篇,基本配置 安装web服务器:httpd-2. - phpStudy...

    linux构建动态WEB服务器安装篇 基本配置 安装web服务器:httpd-2.X.X 先优化吧 根据CPU设置变量 #export CFLAGS="-O2 -march=pentium4 ...

  4. Oracle优化07-分析及动态采样-动态采样

    思维导图 07系列文章 Oracle优化07-分析及动态采样-直方图 Oracle优化07-分析及动态采样-DBMS_STATS 包 Oracle优化07-分析及动态采样-动态采样 动态采样Dynam ...

  5. Oracle优化07-分析及动态采样-DBMS_STATS 包

    思维导图 07系列文章 Oracle优化07-分析及动态采样-直方图 Oracle优化07-分析及动态采样-DBMS_STATS 包 Oracle优化07-分析及动态采样-动态采样 DBMS_STAT ...

  6. Oracle优化07-分析及动态采样-直方图

    思维导图 07系列文章 Oracle优化07-分析及动态采样-直方图 Oracle优化07-分析及动态采样-DBMS_STATS 包 Oracle优化07-分析及动态采样-动态采样 概述 获取准确的段 ...

  7. php oracle组件,Oracle 组件 系列 小结

    Oracle 组件 系列 小结 Oracle 组件的信息可以通过v$option 和 dba_registry 查看: --查看v$option: V$OPTIONdisplaysOracle Dat ...

  8. eclipse 创建maven 项目 动态web工程完整示例

    需求表均同springmvc案例 此处只是使用maven 注意,以下所有需要建立在你的eclipse等已经集成配置好了maven了,说白了就是新建项目的时候已经可以找到maven了 没有的话需要安装m ...

  9. eclipse中动态web项目快捷方式设置

    需求 在eclipse中发布一个动态web项目,为了快捷创建一些包.类等,需要先设置一下快捷方式. 步骤 1.点击"Window"->"Perspective&qu ...

最新文章

  1. mysql 层级 统计_MySQL系列(7)
  2. CentOS 8下安装MySQL8.0
  3. 深度学习之经典卷积神经网络的技术浅析 | 硬创公开课预告
  4. URI和URL的区别与联系
  5. AOSP ~ 默认开启开发者模式
  6. SQL窗口函数实现累加求功能
  7. 店外营销吸睛,店内体验升级丨餐饮品牌如何「吃」透数据?
  8. 我的markdown编辑器
  9. 第二章 Java基本语言
  10. BJTUOJ 1853 gangpener买零食(水~)
  11. 联想电脑尺寸在哪里看_笔记本屏幕大小怎么看 查看笔记本屏幕型号尺寸方法...
  12. uctf信息安全_UCTF2016 twi Writeup
  13. Windows系统快捷键分类说明
  14. 关于无线上网卡的使用记录
  15. python教程视频大全_Python基础视频教程全集
  16. js下载文件的方法(H5、PC)(小程序)
  17. 压缩(归档)文件到指定目录
  18. feof函数的滞后性
  19. Q104807: HOWTO: Logging an MSI Installation
  20. 可验证随机函数 VRF

热门文章

  1. 【进阶4-1期】详细解析赋值、浅拷贝和深拷贝的区别
  2. ^l手动换行符 ^p段落标记符 /n/r_/n
  3. win10 中redis client提示 ERR Client sent AUTH,but no password is set
  4. Windows 10 Visual Studio 2017 安装配置 Apache Thrift (C++)
  5. 写在我第一个虚幻程序之前
  6. Storm InvalidTopologyException: null
  7. 使用 Button 类在 XNA 中创建图形按钮(九)
  8. Spring Cloud--Honghu Cloud分布式微服务云系统—System系统管理
  9. vue开发使用vue-particles如何兼容IE11?
  10. 【大型网站技术实践】初级篇:借助LVS+Keepalived实现负载均衡