國家工信部網(wǎng)站備案實名:湖北自考網(wǎng) 為考生提供湖北自考信息服務,僅供學習交流使用,官方信息以湖北教育考試院為準。
湖北自考在線 湖北學位英語培訓班 湖北成人高考報名 湖北自考視頻免費領取

基于Web的交互式數(shù)據(jù)庫查詢技術

湖北自考網(wǎng) 來源: 時間:2005-11-09 00:00:00
基于Web的交互式數(shù)據(jù)庫查詢技術

中國科學技術大學計算機系  唐雪峰 趙保華

摘要: 介紹通過Web服務器實現(xiàn)數(shù)據(jù)庫動態(tài)數(shù)據(jù)交互的幾種方法及其對比,著重以實例說明如何實現(xiàn)與DBASE x和ORACLE數(shù)據(jù)庫的交互操作。

關鍵詞:Web, CGI,ISAPI,ASP

1 概述

Web技術是一項很新的技術,它不僅為Internet的廣泛普及起到關鍵性的作用,而且還在其他相關計算機網(wǎng)絡應用技術發(fā)展中起到關鍵作用,例如Intranet、電子商務等,目前它已成為計算機網(wǎng)絡應用的一個主要技術,尤其重要的技術是web動態(tài)技術,與后臺數(shù)據(jù)庫的交互式動態(tài)查詢技術。本文針對常用的web動態(tài)技術,與數(shù)據(jù)庫交互技術作以介紹。

2 實現(xiàn)Web動態(tài)技術的幾種方法

2.1 利用CGI實現(xiàn)Web動態(tài)技術

在Web應用中,與其他動態(tài)編程技術相比,CGI技術雖然是一項很早期的技術,有很多的不足,性能差、需要大量的HTTP知識、不靈活等等,但筆者認為它還是具有很強的使用性,因為其使用普遍,很多Web服務器均支持。就其協(xié)議而言,具有簡單、易掌握,見效快等特點。因此本文介紹的應用實例主要是基于它的。

CGI是Common Gateway Interface的縮寫,目前大多數(shù)的Web產品提供此項服務功能,它可以使用任何一種計算機語言編寫,使用尤其廣泛的有C、Perl、C++語言,在Internet上有很多相關的資料和程序及源代碼。

它的運行過程如圖1,Web服務器接受客戶端瀏覽器的URL請求,找到CGI程序后,啟動并產生一個CGI進程,將系統(tǒng)參數(shù)和用戶請求參數(shù)交給CGI進程,由CGI進程提取數(shù)據(jù)庫中數(shù)據(jù)處理后,產生結果,反饋給Web服務器,由其反饋給用戶端瀏覽器。這樣完成了一個請求過程。

圖1 CGI調用流程(略)

IDC(Internet數(shù)據(jù)庫連接器)
通過使用Internet數(shù)據(jù)庫連接器可以發(fā)布你的數(shù)據(jù)庫,允許用戶訪問數(shù)據(jù),只需開發(fā)者編寫最少量的代碼。你只需提供SQL查詢(IDC將在數(shù)據(jù)庫上執(zhí)行它)和模板(描述數(shù)據(jù)顯示和收集的方式),而不用進行復雜的程序設計,這種方法適用于簡單的不需要控制和驗證數(shù)據(jù)的程序。它是IIS的功能之一 ,IIS通過調用一個名為HTTPODBC.DLL的ISAPI應用程序處理.IDC和.HTX文件實現(xiàn)的,調用處理過程如圖2,它是一個不連續(xù)的循環(huán)。應用中要注意隱藏.IDC和.HTX文件。保證應用程序和數(shù)據(jù)庫的安全性。

圖2IDC應用程序的處理過程(略)

基于ISAPI的解決方案
ISAPI(Internet Server Application Programming Interface)是Microsoft的IIS提供的一種新的接口標準,用于開發(fā)交互式Web應用程序,它采用的語言多為面向對象的編程語言如Visual C++、Delphi等,它與CGI程序很相似,但在性能方面較CGI應用程序相比有較大提高,在執(zhí)行時不需要重復裝入代碼,能夠降低系統(tǒng)開銷,提高運行速度;具有很強的靈活性,與服務器之間能夠很好的銜接,能夠實現(xiàn)一些很復雜的操作和控制。分為ISAPI擴展程序和ISAPI過濾器兩種方式,前者主要完成類似CGI程序的功能,后者能夠實現(xiàn)與IIS的更完美的結合,可以監(jiān)督所有的驗證請求或所有服務器發(fā)送到用戶的數(shù)據(jù),過濾器跨越整個服務器,并能影響服務器的工作方式.但ISAPI編程需要開發(fā)者有熟練的經(jīng)驗,特別對服務器操作、客戶端與服務器之間的通訊方式的較深的理解和嫻熟的編程技巧。

活動服務器頁面(Active Server Pages)
它是由第三版IIS提供的新特性,實質是通過一個名為sspifilt.dll的ISAPI過濾器實現(xiàn)的,主要提供的功能是開發(fā)人員可以通過使用服務器端腳本(VBScript或VCScript)動態(tài)生成網(wǎng)頁,可以同訪問數(shù)據(jù)庫的ActiveX控件連接在一起使用來實現(xiàn)數(shù)據(jù)庫的動態(tài)交互查詢。是目前較新的一種技術。

第三方解決方案
許多第三方工具可以用來幫助你創(chuàng)建交互式Web應用程序,它們主要改善了CGI程序的開發(fā)環(huán)境,降低開發(fā)人員掌握基于Web的數(shù)據(jù)庫交互式應用程序的開發(fā)難度,幫助你使用所熟悉環(huán)境來開發(fā)應用程序,保存現(xiàn)有應用程序代碼的移植和復用性。值得一提的產品有以下幾種產品:

WebAction是classTools公司的產品,網(wǎng)址:http://www.classtools.com/

Tornado 網(wǎng)址:http://www.eudev.com/tornado.htm

WebHub是HREF Tools公司的產品,網(wǎng)址:http://www.href.com/

Foxweb是Fox公司的產品,網(wǎng)址:http://www.foxweb.com/

幾種常用方法的對比 見表1。

方法

名稱

對比 項目

基于CGI技術數(shù)據(jù)庫連接器IDC 基于ISAPI 活動服務器頁面ASP 第三方解決方案 操作 系統(tǒng)幾乎任何操作系統(tǒng) Window NT Window NT Window NT 與具體產品有關 Web 服務器主流Web服務器均支持 IIS IIS IIS 與具體產品有關 運行 速度每次請求均需要調入一次程序,隨著請求數(shù)量增加而變慢基于ISAPI擴展解釋方式,速度由于其與操作系統(tǒng)和Web服務器結合緊密其速度快中一般較慢 對編程人員要求需要對HTTP、HTML、TCP\IP和CGI協(xié)議,SQL、至少一種計算機編程語言熟悉HTML、SQL、IDC嵌入腳本面向對象的編程語言Delphi、Visual C++,熟悉網(wǎng)絡環(huán)境和協(xié)議、數(shù)據(jù)庫接口需要熟悉HTML、Jscript或VBScripts腳本語言、SQL 有初步的HTML和網(wǎng)絡知識和產品要求的編程語言 培訓對于網(wǎng)絡環(huán)境用戶較為容易容易較難較易容易 適于程序規(guī)模任何規(guī)模小特殊要求或規(guī)模性程序中小中小

表1 幾種常用方法的對比

3 實例

針對大慶采油四廠的具體情況,主要以DbaseX數(shù)據(jù)庫和Oracle數(shù)據(jù)為主,我們主要采取兩種方式,DbaseX類型數(shù)據(jù)庫一般存放在Window NT Server上,多數(shù)編程人員多適應Xbase語言的編程,我們采用第三方產品,在服務器端安裝Foxweb產品,這樣保證了現(xiàn)有軟件開發(fā)人員能夠利用Foxpro進行CGI程序編制達到交互目的,有助于使現(xiàn)有程序員較為容易的掌握,從而盡快產生良好的效果。

安裝Foxweb產品后,其中一個名字為Foxweb.exe的文件相當于一個普通的CGI程序,安裝在Web服務器的CGI目錄下,用Vfoxpro編寫的程序需要有它來解釋后執(zhí)行。

在Foxweb中提供全局變量“CGI.參數(shù)名字”和下面3個函數(shù)主要是傳遞客戶端和服務器端的一些信息和解釋、提取超文本表單的用戶請求數(shù)據(jù)和合并混有普通visual Foxpro程序數(shù)據(jù)變量的超文代碼,是其成為用戶能夠瀏覽的信息。Foxpro程序員只需對這些有一個透徹的理解并掌握一定超文本知識就能夠進行基于web的編程。

¡FormField():返回表單中變量的值
¡TotFields():對于多選值變量,判定變量值個數(shù)
¡MergeTxt():替換merge編碼中的<< 和 >>之間的變量
Oracle數(shù)據(jù)庫主要采用的是,服務器端直接安裝Oracle公司提供的Web服務功能,在此基礎上進行二次開發(fā),或利用Oracle產品的Pro*C和SQL查詢語言直接編寫CGI程序來達到交互使用,或使用ODBC或JDBC數(shù)據(jù)庫接口產品與數(shù)據(jù)庫進行交互式操作。

客戶端的動態(tài)方式,一種利用HTML的表單和URL的附加查詢串向服務器的CGI程序傳遞請求,CGI程序將數(shù)據(jù)以超文本形式返回給客戶,這種方式可以通過一些嵌入的腳本語言來進行表單的預處理,來減少CGI程序的負荷,提高CGI的執(zhí)行效率。另一種方式是采用JAVA Applet進行交互,這樣可以使程序具有更好的交互性,圖形化,而且這樣由于JAVA Applet是下載到客戶端運行的,而且JAVA Applet有很強的圖形處理和應用程序接口能力,這樣CGI程序只需將基本數(shù)據(jù)提取后,返回到客戶端即可,這樣可以大大降低服務器端的負荷,將運算量分散到客戶端,使得負荷得到均衡。

在實現(xiàn)這些內容時,數(shù)據(jù)庫的接口也是一個很重要的方面,下面列出CGI程序、ODBC、JDBC、JAVA Applet之間的數(shù)據(jù)交換簡圖和基本步驟,無論如何在使用這些之前,都需要在數(shù)據(jù)庫服務器上建立相應驅動程序和數(shù)據(jù)源,詳細內容請查閱本文后面列出的書籍。

圖3使用ODBC訪問數(shù)據(jù)庫(略)

使用ODBC的基本步驟是:見圖3所示。

為ODBC分配環(huán)境句柄
分配一個連接句柄
連接到數(shù)據(jù)庫
用SQL命令分配一個語句句柄
傳送該語句
關閉連接
解除連接和環(huán)境句柄

圖4使用JDBC訪問數(shù)據(jù)庫(略)

使用JDBC的基本步驟是:見圖4所示。

建立連接
創(chuàng)建Statement對象,用于執(zhí)行SQL語句
執(zhí)行SQL語句
關閉Statement對象
關閉連接

結論

本文介紹的基于Web交互式數(shù)據(jù)庫查詢技術中,基于FOXWEB CGI和基于JAVA ,ODBC針對ORACLE的CGI編程技術已廣泛應用于大慶采油四廠生產開發(fā)信息查詢系統(tǒng)中,具有很強的實用性。隨著新技術的不斷出現(xiàn)和編程人員對Web和網(wǎng)絡知識的了解和深入,我們可以采用更新、更好的技術的解決方案,特別是NT服務器IIS的ISAPI技術。

參考文獻

(1) 吳迪文, WWW數(shù)據(jù)庫系統(tǒng)信息集成技術 , 微機發(fā)展,No.1,1999.

(2) 劉軍等,基于Web的交互式數(shù)據(jù)庫查詢技術,微機發(fā)展,No.4,1999.

(3) 王克宏編譯,JAVA語言與SQL接口,清華大學出版社,1997.4

(4) 王佑中著,Web動態(tài)技術入門,機械工業(yè)出版社,1997.1.

(5) (美)Don Gaspar著,楊曉云,王建橋譯,用C++開發(fā)Web商用程序,機械工業(yè)出版社,1998.6.

結束
本文標簽
特別聲明:1.凡本網(wǎng)注明稿件來源為“湖北自考網(wǎng)”的,轉載必須注明“稿件來源:湖北自考網(wǎng)(www.heywebguys.com)”,違者將依法追究責任;
2.部分稿件來源于網(wǎng)絡,如有不實或侵權,請聯(lián)系我們溝通解決。最新官方信息請以湖北省教育考試院及各教育官網(wǎng)為準!
限時,免費獲取學歷提升方案

已幫助10w萬+意向學歷提升用戶成功上岸

  • 毛澤東思想概論

    毛澤東思想概論

    培訓優(yōu)勢:課時考點精講+刷題+沖刺,熟練應對考試題型。全程督促學習,安排好學習計劃。 毛澤東思想概論...自考培訓
  • 英語二

    英語二

    本課程既是一門語言實踐課程,也是拓寬知識、了解世界文化的重要素質課程,它以培養(yǎng)學習者的綜合語言應用能力為目標,使他們在學習、工作和社會交往中能夠使用英語進行有效的交流。 英語二...自考培訓
  • 馬克思主義基本原理概論

    馬克思主義基本原理概論

    本書包括兩個部分:自學考試大綱和基本原理。主要內容有,馬克思主義是關于工人階級和人類解放的科學,物質世界及其發(fā)展規(guī)律,認識的本質及其規(guī)律,人類社會及其發(fā)展規(guī)律,資本主義的形成及其發(fā)展,資本主義發(fā)展的歷史進程,社會主義社會及其進程,共產主義社會及其進程等。 馬克思主義基本原理概論...自考培訓
  • 思想道德修養(yǎng)與法律基礎

    思想道德修養(yǎng)與法律基礎

    《思想道德修養(yǎng)與法律基礎》課具有鮮明的政治性、思想性、理論性、針對性、科學性、知識性以及實踐性和修養(yǎng)性。它包羅政治、思想、道德、心理本質、學習成才和法律本質等內容,指導和回答大學生在人生、抱負、信念等方面遍及關心和迫切需要解決的問題。 思想道德修養(yǎng)與法律基礎...自考培訓
  • 中國近代史綱要

    中國近代史綱要

    “中國近現(xiàn)代史綱要”全國高等教育自學考試指定教材,依據(jù)中央審定的普通高等學?!爸袊F(xiàn)代史綱要”編寫大綱以及馬克思主義理論研究和建設工程重點教材《中國近現(xiàn)代史綱要》,結合自學考試的特點設計了十章,集中講述1840年鴉片戰(zhàn)爭爆發(fā)一直到2007年中國共產黨第十七次全國代表大會召開的160多年的中國近現(xiàn)代歷史。 中國近代史綱要...自考培訓
微信公眾號 考試交流群
湖北自考網(wǎng)微信公眾號

掃一掃關注微信公眾號

隨時獲取湖北省自考政策、通知、公告以及各類學習資料、學習方法、課程。