动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.Client端不安裝Oracle而用PowerB.
.Oracle PL/SQL语言初级教程之表和.
.如何有效的利用ORACLE数据字典.
.SuSE Linux10上安装Oracle数据库.
.ExactPapers Oracle 1Z0-030 200.
.数据库登录说明.
.Oracle 11g 500种新功能 着重商业.
.Oracle安全全接触(完整版)二.
.oracle10g :物理备库也可以read.
.PL/SQL的小常识.
.Oracle中对COLUMNS_UPDATED()返回.
.Oracle中向视图中插入数据.
.MdkLinux 初体验.
.在redhat Linux9下安装Oracle9.2.
.可预见的Oracle应用程序的性能调.
.[范例]如何编写排序菜单sort_pop.
.UNIX系统环境下设置自动开关数据.
.Oracle数据库中分区表的操作方法.
.通用数据转换工具应用.
.oracle 10g 新特性中文笔记一.

Oracle组件实现动态Web数据库

发表日期:2008-2-9 |



[摘 要] 本文简要介绍实现Web数据库的基本方法,讨论了利用Oracle的服务器选件之一WebServer结合PL/SQL和相关内置程序包实现动态Web的基本方法,并给出了一简单示例。

  随着计算机互连网络的发展,Internet正成为世界各地进行信息交流的主要方式之一。作为Internet的一个重要组成部分,全球信息网WWW(World Wide Web)采用Html形式组织信息,并用超链结的方式进行各种信息的集成与传递,具有界面友好,操作简单等特点,用户可直接利用Web浏览器进行方便的浏览、查询各种信息。因此,作为各机构组织和企业展示信息的窗口,Web服务器所能提供的信息量和功能就直接影响到其自身的形象和客户访问量。

  在传统的Web服务器中,文本和其他信息都是以文件的形式来进行存储和治理的,向用户浏览器所提供的网页也大多是静态的。当用户在浏览器中输入HTML文档的URL时,则访问一个在WebServer上的文件,它只有在某个网络治理员在Web服务器上放置一个同名的新文件时才改变内容。随着WWW的应用领域的拓展,静态Web页也越来越不能满足信息服务的动态性、实时性和交互性的要求,这就要求将数据库技术与WWW 结合起来,以实现对数据资源的高效存取。

  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

  select code,name,score

  from student

  where code = code_in;

  Begin

   Htp.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_cur

  Loop

  --利用游标的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 ScoreForm

   As

  Begin

  Htp.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的开发和应用。
上一篇:PL/SQL单行函数和组函数详解 人气:569
下一篇:Oracle数据库在一台机器配置两个listener 人气:519
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-8 天空网络电影系统SKYUC v2.5.7
2008-9-8 美女写真小偷程序联盟 v3.0 后台
2008-9-8 pageadmin企业网站管理系统 v2.1
2008-9-8 老Y文章管理系统 v2.1 bulid 080
2008-9-8 思若B2B电子商务网站管理系统 v1
2008-9-8 ASP+JS网页版斗地主 v1.1
2008-9-8 126图片分享QQ秀展示平台
2008-9-8 wordpress便携通告插件
2008-9-8 JaneLee简单购物车源码
2008-9-7 iBlacklist通话黑名单汉化破解补
2008-9-7 EndlessWalls无尽壁纸 v1.0.4破解
2008-9-7 Dynolicious车载测量仪v1.1破解版
2008-9-7 iVoodoo巫毒娃娃1.0.1破解版
2008-9-7 iWallpape精品墙纸1.2破解版
2008-9-7 iChillout自然音效工具1.1破解版
2008-9-7 Todo计划提醒1.2破解版
2008-9-7 allRadio电台集合1.01破解版
2008-9-7 My Money个人理财1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵