国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

Oracle webserver中文介紹-第三章

2024-08-29 13:41:02
字體:
來源:轉載
供稿:網友

  Oracle Web Agent是當Web Listener收到一個動態文檔請求時執行的CGI程序。此程序登錄進數據庫并執行作為URL的一部分而指定的PL/SQL存儲過程。
  
  作為開發Web Agent的PL/SQL工具,WebServer Developer''s Toolkit包括以下包:
  
  HTP (超文本過程) 和 HTF (超文本函數) 簡化了在用戶的PL/SQL代碼里 生成Html標記的工作。 HTP和HTF自動生成由Oracle Web檢索的HTML標記。
  
  OWA_UTIL 包含了能使程序員更快速構造HTML輸出的實用函數。
  
  注重: Web Agent 也包括一些叫OWA的PL/SQL包,它包括一些由Web Agent調用的進行諸如設置CGI環境變量和從PL/SQL表中提取由PL/SQL代碼生成的輸出等實用功能。一個PL/SQL開發員不能直接調用OWA包,雖然它可以用用戶通過URL直接調用。
  
  Oracle WebServer Developer''s Toolkit的進一步信息見第四章。
  
  誰使用Oracle Web Agent
  Oracle Web Agent 可以被以下人使用:
   
  想開發與oracle7互操作的Web應用的程序員。Oracle Web Agent答應程序員創建 PL/SQL過程來進行數據庫操作并將結果格式化為HTML文檔。這些文檔被返回Web 客戶端。所以,程序員需要了解以下知識:
  
  用于生成HTML格式文檔的超文本函數和超文本過程。
  PL/SQL過程語言的基礎。
  另外,以下知識對于程序員也非常重要:
  哪些公共網關接口的變量 對于 PL/SQL應用是有效的,以及如何存取它們。
  Web Agent如何處理參數 (本章介紹)
  如何使用OWA_UTIL PL/SQL實用包 (, "The WebServer Developer''s Toolkit".中介紹)
  想安裝和設置Oracle Web Agent,并用治理員工具維護Web Agent的系統治理員。
  治理員需要了解以下知識:
  如何創建,修改和刪除Web Agent服務。
  在哪里安裝由Web Agent提供的開發工具PL/SQL包。
  下述信息對治理員也十分有用:
  Oracle Web Agent如何工作 (本章講述)
  Web Agent如何處理錯誤 (本章講述)
  
  3.1 Oracle Web Agent如何工作
  Oracle Web Agent使你能用開發工具箱創建PL/SQL存儲過程來存取Oracle7的數據,動態生成來自那些數據的HTML文檔,并將文檔返回給客戶端。
   
  下面描述一下Oracle Web Agent是如何一步一步工作的:
  
  1. 用戶從瀏覽器提交一個URL。
  用戶以下列方法之一提交URL:
  通過從HTML頁面上選擇一個鏈接
  在其瀏覽器的打開URL框中指定一個URL
  提交HTML表格
  
  此動作觸發了一個與URL相關的GET或POST請求方法操作。請求方法使用HTTP協議傳給了Web Listener。
  
  2. Web Listener 啟動了 Web Agent.
  Web Listener判定此URL是否與Oracle Web Agent有關(通過抽取URL的/owa部分),并調用Web Agent。為與CGI標準兼容,Web Listener使幾個環境變量對Web Agent有效.
  
  3. Web Agent連接到Oracle7 Server.
  為連接到Oracle7 Server,Web Agent要求一些諸如連接到哪個服務器,使用什么用戶名和口令等信息。這些信息作為Web Agent的一部分,存儲在位于OWS治理目錄下的文件owa.cfg 中。Web Agent通過解析環境變量SCRipT_NAME來決定使用哪個服務,環境變量SCRIPT_NAME是由Web Listener根據CGI 1.1說明書設定的。
  
  Web Listener從URL中/owa 前面的路徑段推出這個環境變量的值。例如,假如/ows-bin/hr/owa是URL的前邊部分,那么hr就是要使用的服務。
  
  有關如何設置Web Agent service的進一步的內容, 請見本章后面的"Web AgentService"一節.
  
  4. PL/SQL 過程被調用
  連接到數據庫后,Web Agent調用相應的PL/SQL過程,其名字通過解析環境變量PATH_INFO獲得。
  
  假如PL/SQL過程要求參數,這些參數已經由Web Listener通過環境變量QUERY_STRING或標準輸入(這依靠于請求方法是"GET"還是"POST")傳給了WebAgent。
Web Agent將把這些參數傳給PL/SQL過程。
  
  有關PATH_INFO, SCRIPT_NAME,和QUERY_STRING 以及Oracle Web Agent如何使用他們的內容, 請見本章后面的"Web Agent如何使用CGI環境變量"一節.
  
  5. PL/SQL過程執行, 生成 HTML 文檔.
  在Developer''s Toolkit的幫助下,PL/SQL過程從Oracle7數據庫中提取出數據并在PL/SQL表中生成了HTML文檔。
  
  有關Developer''s Toolkit的內容請見第四章"Oracle WebServer Developer''s Toolkit."
  
  6. Web Agent將生成的HTML文檔傳給Oracle Web Listener.
  假如PL/SQL過程成功結束,Web Agent將從PL/SQL表里取出生成的HTML文檔,并把它發送到標準輸出,那里是Web Listener期望CGI應用把他們的輸出發送到的地方。
  
  假如PL/SQL過程返回錯誤,Web Agent則把程序定義的出錯頁面發送到標準輸出。
  
  有關如何處理錯誤的內容請見"Oracle Web Agent Error Handling"一節。
  
  7. Web Listener把 HTML文檔發送回原發出請求的瀏覽器
  Web Listener使用HTTP將HTML文檔發還瀏覽器。瀏覽器并不知道請求的文檔是在飛行中生成的,把它象任何其他HTML一樣顯示在屏幕上。
  
  Web Agent服務 Service
  因為人們希望單個Web Listener能夠訪問多個數據庫或一個數據庫里的多個模式,Oracle Web Agent支持服務的概念。我們用下面的例子描述一下服務的概念:
  
  公司A想讓他們存儲在Oracle7數據庫中的數據可以被公眾通過Oracle Web Listener訪問。然而公司內不同部門對數據庫以用戶名為分割的不同部分(模式)有訪問權限。
  
  所以,人力資源部和財務部使用不同的用戶名/口令組合來登錄數據庫。假如他們都想用使用Oracle Web Agent的CGI應用訪問他們的數據,Web Agent需要使用正確的用戶名/口令來登錄數據庫。采用這種方案,含有配置信息的owa.cfg文件中包含兩個服務,HR 服務和AP服務。每個服務有相關的用戶名/口令,ORACLE_HOME參數,和ORACLE_SID參數。當一個來自瀏覽器的請求到來時,Web Listener從URL中抽取出服務名并讀取owa.cfg文件找出將使用的參數。
  
  為連接到Oracle7服務器,Web Agent需要在Web Agent服務中指明以下信息: 
  
  username 用戶名
  passWord 口令
  ORACLE_HOME
  ORACLE_SID (僅對本地數據庫)
  SQL*Net V2 Service Name or Connect String (僅對遠程數據庫)
  Administration Utility答應治理員顯示,創建,修改或刪除Web Agent服務。用創建
  Web Agent的表格,你不需要直接修改配置文件owa.cfg。參見 "Creating or Modifying Web Agent Services," 。
  
  下面是一個owa.cfg文件中Web Agent服務項的例子,每個參數有相應的解釋。
   
   Developer''s T#
  
  (
  owa_service = es
  (
  owa_user = www_es
  )
  (
  owa_password = tiger 
  )
  (
  oracle_home = /opt/oracle7
  )
  (
  oracle_sid = esPRod
  )
  (
  owa_err_page = /es_err.html
  )
  (
  owa_valid_ports = 8000 8888
  )
  (
  owa_log_dir = /opt/oracle7/ows/log
  )
  (
  owa_nls_lang = AMERICAN_AMERICA.US7ASCII
  )
  )
  owa_service 
  Web Agent 服務的名字
    owa_user 
  Web Agent連接數據庫用的數據庫用戶名。
    owa_password 
  Web Agent連接數據庫用的數據庫口令。
    oracle_home 
  Oracle7代碼樹在文件系統中的位置。它應該是Web Agent服務連接到的數據庫的ORACLE_HOME,除非Web Agent設置為通過SQL*NET連接到一個遠程數據庫。這種情況下,指定Web Agent所在的ORACLE_HOME。Web Agent總是安裝在ORACLE_HOME目錄或其子目錄下。
    oracle_sid
  將連接到的數據庫的系統ID名。連接到遠程數據庫時,不要使用。
  
    owa_err_page 
  Web Agent調用的PL/SQL過程發生錯誤時,Web Agent返回的HTML文檔的路徑。這是個實際路徑,而非Web Listener配置中的那種虛擬路徑。
  
  owa_valid_ports
    Web Agent將服務的有效的Web Listener網絡端口。

  
    owa_log_dir 
  Oracle Web Agent寫出錯文件的目錄。出錯文件的名字為service_name.err。
  
  owa_nls_lang
    Web Agent連接的Oracle7數據庫的NLS_LANG。若不指定,Web Agent治理程序當服務執行時尋找數據庫的NLS_LANG。
   
  
  Web Agent如何使用CGI環境變量
  Web Agent使用的環境變量見表3-1:
    變量  包含
  REQUEST_METHOD  GET 或 POST 
  PATH_INFO  將調用的PL/SQL過程的名字。
  SCRIPT_NAME  包含登錄Oracle7時用的Web Agent和服務 。
  QUERY_STRING  PL/SQL過程的參數(僅對GET方法。POST方法的參數通過標準輸入傳遞。)
  表 3 - 1. Oracle Web Agent使用的CGI 變量
  
  下面是一個典型的URL如何被與CGI 1.1說明書兼容的Web Listener解析的例子。
  
  http://www.nhl.com:8080/ows-bin/nhl/owa/hockey.pass?person=Gretzky
  1. 子串 http://www.nhl.com:8080 表明Web瀏覽器要用HTTP協議連接到www.nhl.com主機的端口8080上。
  2. 當運行在www.nhl.com上的Oracle Web Listener接收到請求,子串/ows-bin/nh

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 曲阳县| 罗定市| 花垣县| 翁牛特旗| 新沂市| 射阳县| 沙雅县| 将乐县| 阳信县| 昌黎县| 田林县| 隆子县| 兴海县| 息烽县| 金溪县| 锡林浩特市| 阿克苏市| 白玉县| 延津县| 吐鲁番市| 香港| 曲靖市| 安徽省| 元朗区| 乌拉特前旗| 余庆县| 华宁县| 禹州市| 衡山县| 龙游县| 马关县| 湾仔区| 读书| 宁波市| 郧西县| 青浦区| 天等县| 潼南县| 哈巴河县| 元朗区| 银川市|