當前位置:學問君>學習教育>畢業論文>

基於Web的交互式數據庫查詢技術

學問君 人氣:2.94W
基於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的數據庫交互式應用程序的開發難度,幫助你使用所熟悉環境來開發應用程序,儲存現有應用程序代碼的移植和複用性。值得一提的產品有以下幾種產品: