基於Web的互動式資料庫查詢技術

才智咖 人氣:2.92W
基於Web的互動式資料庫查詢技術
基於Web的互動式資料庫查詢技術 中國科學技術大學計算機系 唐雪峰 趙保華

摘要: 介紹通過Web伺服器實現資料庫動態資料互動的幾種方法及其對比,著重以例項說明如何實現與DBASE x和ORACLE資料庫的互動操作。

關鍵詞:Web, CGI,ISAPI,ASP

1 概述

Web技術是一項很新的技術,它不僅為Internet的廣泛普及起到關鍵性的作用,而且還在其他相關計算機網路應用技術發展中起到關鍵作用,例如Intranet、電子商務等,目前它已成為計算機網路應用的一個主要技術,尤其重要的技術是web動態技術,與後臺資料庫的互動式動態查詢技術。本文針對常用的web動態技術,與資料庫互動技術作以介紹。

2 實現Web動態技術的幾種方法

2.1 利用CGI實現Web動態技術

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

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

它的執行過程如圖1,Web伺服器接受客戶端瀏覽器的URL請求,找到CGI程式後,啟動併產生一個CGI程序,將系統引數和使用者請求引數交給CGI程序,由CGI程序提取資料庫中資料處理後,產生結果,反饋給Web伺服器,由其反饋給使用者端瀏覽器。這樣完成了一個請求過程。

圖1 CGI呼叫流程(略)

IDC(Internet資料庫聯結器)
通過使用Internet資料庫聯結器可以釋出你的資料庫,允許使用者訪問資料,只需開發者編寫最少量的程式碼。你只需提供SQL查詢(IDC將在資料庫上執行它)和模板(描述資料顯示和收集的方式),而不用進行復雜的程式設計,這種方法適用於簡單的不需要控制和驗證資料的程式。它是IIS的功能之一 ,IIS通過呼叫一個名為的ISAPI應用程式處理和檔案實現的,呼叫處理過程如圖2,它是一個不連續的迴圈。應用中要注意隱藏和檔案。保證應用程式和資料庫的安全性。

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

基於ISAPI的解決方案
ISAPI(Internet Server Application Programming Interface)是Microsoft的IIS提供的一種新的介面標準,用於開發互動式Web應用程式,它採用的`語言多為物件導向的程式語言如Visual C 、Delphi等,它與CGI程式很相似,但在效能方面較CGI應用程式相比有較大提高,在執行時不需要重複裝入程式碼,能夠降低系統開銷,提高執行速度;具有很強的靈活性,與伺服器之間能夠很好的銜接,能夠實現一些很複雜的操作和控制。分為ISAPI擴充套件程式和ISAPI過濾器兩種方式,前者主要完成類似CGI程式的功能,後者能夠實現與IIS的更完美的結合,可以監督所有的驗證請求或所有伺服器傳送到使用者的資料,過濾器跨越整個伺服器,並能影響伺服器的工作方式.但ISAPI程式設計需要開發者有熟練的經驗,特別對伺服器操作、客戶端與伺服器之間的通訊方式的較深的理解和嫻熟的程式設計技巧。

活動伺服器頁面(Active Server Pages)
它是由第三版IIS提供的新特性,實質是通過一個名為的ISAPI過濾器實現的,主要提供的功能是開發人員可以通過使用伺服器端指令碼(VBScript或VCScript)動態生成網頁,可以同訪問資料庫的ActiveX控制元件連線在一起使用來實現資料庫的動態互動查詢。是目前較新的一種技術。

第三方解決方案
許多第三方工具可以用來幫助你建立互動式Web應用程式,它們主要改善了CGI程式的開發環境,降低開發人員掌握基於Web的資料庫互動式應用程式的開發難度,幫助你使用所熟悉環境來開發應用程式,儲存現有應用程式程式碼的移植和複用性。值得一提的產品有以下幾種產品: