Oracle元件實現動態Web資料庫(轉)

gugu99發表於2007-08-13
Oracle元件實現動態Web資料庫(轉)[@more@]

  本文簡要介紹實現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)   

  透過以上程式碼,我們有了一個基本的用資料庫中的資料動態的生成一個網頁的方法,下面將建立一個簡單的表單。在表單中呼叫上述程式和接受使用者輸入的考生號碼,從而在客戶端向使用者動態地顯示從資料庫中查詢的資訊。

    Create or replace procedure ScoreForm  

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-953945/,如需轉載,請註明出處,否則將追究法律責任。

相關文章