成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Oracle組件如何正確實現動態Web的數據庫

數據庫 Oracle
我們今天主要向大家介紹的是正確應用Oracle組件來實現動態Web的數據庫的實際操作步驟,下面就是文章的具體內容描述。

以下的文章主要介紹的是正確應用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) 
    As cursor score_cursor is select code,name,score from student where 
    code = code_in;  
  2. Begin Htp.htmlopen;   
  3. Htp.headopen; Htp.title ('Student's score information');   
  4. Htp.headclose; Htp.bodyopen (cattributes=>'bgcolor = "#80800"'); Htp.tableopen(border');   
  5. Htp.tablecaption ('Score Information','center');   
  6. Htp.tablerowopen; Htp.tableheader (' Student Code');  
  7. Htp.tableheader (' Student Name');  
  8. 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'); 
    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的開發和應用。

 

【編輯推薦】

  1. 對Oracle歸檔模式的切換技術理解
  2. Oracle歸檔模式的運行模式的兩大類
  3. 對Oracle Raw類型的詳細解剖
  4. Oracle數據集成的解決方案詳解
  5. Oracle 10g應用比例不斷攀升的緣由

 

責任編輯:佚名 來源: 互聯網
相關推薦

2010-09-07 16:16:04

DB2數據庫

2009-12-11 17:52:21

PHP獲取博客數據

2010-05-17 17:35:30

MySQL數據庫

2010-04-29 17:31:56

Oracle存儲過程

2010-04-29 11:53:42

Oracle數據庫

2010-04-26 18:32:48

Oracle數據庫

2010-08-03 10:16:15

DB2 數據庫

2009-12-03 11:11:57

PHP網站優化

2010-05-05 11:17:55

Oracle數據庫

2009-12-29 18:09:00

Silverlight

2010-02-25 10:10:29

WCF使用Header

2010-02-25 13:48:23

WCF動態創建代碼

2010-01-06 15:56:18

.Net Framew

2010-10-26 16:27:37

連接Oracle數據庫

2011-08-02 10:37:27

Oracle數據庫archivelog文

2009-12-04 12:51:27

PHP functio

2009-12-07 18:42:55

PHP與Javascr

2010-05-05 10:19:19

Oracle數據導

2009-12-09 16:49:09

PHP顯示文章發布時間

2010-06-09 09:34:11

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 香蕉视频1024 | 欧美一级一 | 亚洲一区二区三区在线播放 | 成人亚洲视频 | 韩国av一区二区 | 免费av播放 | 中文字幕一区在线 | 精品久久久久久久久久久久久久 | 99精品国产一区二区三区 | 99在线免费视频 | 中文字幕啪啪 | 久久久www成人免费无遮挡大片 | 日韩久久中文字幕 | 波多野吉衣在线播放 | 成人免费毛片片v | 宅男噜噜噜66一区二区 | 日韩精品视频在线 | 成人深夜福利网站 | 偷拍第一页 | 久久99视频精品 | 国产精品一区二区三区久久 | 黄色a三级| 国产成人免费视频网站高清观看视频 | 一区二区三区精品 | 欧美国产亚洲一区二区 | 91久久精品国产 | 日本成人午夜影院 | 在线成人 | 亚洲精品影院 | 国产99精品 | 亚洲一av| 欧美色综合网 | 91在线网| 久久青 | 日本中出视频 | 国产麻豆乱码精品一区二区三区 | 国产免费va | 毛片免费在线观看 | 毛片一区二区三区 | 日韩手机在线视频 | heyzo在线 |