首頁 > 文章中心 > 正文

          計算機畢業基于web交互式數據庫查詢技術

          前言:本站為你精心整理了計算機畢業基于web交互式數據庫查詢技術范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。

          計算機畢業基于web交互式數據庫查詢技術

          計算機畢業論文

          摘要:介紹通過web服務器實現數據庫動態數據交互的幾種方法及其對比,著重以實例說明如何實現與dbasex和oracle數據庫的交互操作。

          關鍵詞:web,cgi,isapi,asp

          1概述

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

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

          2.1利用cgi實現web動態技術

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

          cgi是commongatewayinterface的縮寫,目前大多數的web產品提供此項服務功能,它可以使用任何一種計算機語言編寫,使用尤其廣泛的有c、perl、c++語言,在internet上有很多相關的資料和程序及源代碼。

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

          圖1cgi調用流程(略)

          idc(internet數據庫連接器)

          通過使用internet數據庫連接器可以你的數據庫,允許用戶訪問數據,只需開發者編寫最少量的代碼。你只需提供sql查詢(idc將在數據庫上執行它)和模板(描述數據顯示和收集的方式),而揮媒懈叢擁某絳蟶杓疲庵址椒ㄊ視糜詡虻サ牟恍枰刂坪脫櫓な蕕某絳頡k荌is的功能之一,iis通過調用一個名為httpodbc.dll的isapi應用程序處理.idc和.htx文件實現的,調用處理過程如圖2,它是一個不連續的循環。應用中要注意隱藏.idc和.htx文件。保證應用程序和數據庫的安全性。

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

          基于isapi的解決方案

          isapi(internetserverapplicationprogramminginterface)是microsoft的iis提供的一種新的接口標準,用于開發交互式web應用程序,它采用的語言多為面向對象的編程語言如visualc++、delphi等,它與cgi程序很相似,但在性能方面較cgi應用程序相比有較大提高,在執行時不需要重復裝入代碼,能夠降低系統開銷,提高運行速度;具有很強的靈活性,與服務器之間能夠很好的銜接,能夠實現一些很復雜的操作和控制。分為isapi擴展程序和isapi過濾器兩種方式,前者主要完成類似cgi程序的功能,后者能夠實現與iis的更完美的結合,可以監督所有的驗證請求或所有服務器發送到用戶的數據,過濾器跨越整個服務器,并能影響服務器的工作方式.但isapi編程需要開發者有熟練的經驗,特別對服務器操作、客戶端與服務器之間的通訊方式的較深的理解和嫻熟的編程技巧。

          活動服務器頁面(activeserverpages)

          它是由第三版iis提供的新特性,實質是通過一個名為sspifilt.dll的isapi過濾器實現的,主要提供的功能是開發人員可以通過使用服務器端腳本(vbscript或vcscript)動態生成網頁,可以同訪問數據庫的activex控件連接在一起使用來實現數據庫的動態交互查詢。是目前較新的一種技術。

          第三方解決方案

          許多第三方工具可以用來幫助你創建交互式web應用程序,它們主要改善了cgi程序的開發環境,降低開發人員掌握基于web的數據庫交互式應用程序的開發難度,幫助你使用所熟悉環境來開發應用程序,保存現有應用程序代碼的移植和復用性。值得一提的產品有以下幾種產品:

          webaction是classtools公司的產品,網址:/

          tornado網址:/tornado.htm

          webhub是hreftools公司的產品,網址:/

          foxweb是fox公司的產品,網址:/

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

          方法

          名稱

          對比項目

          基于cgi技術數據庫連接器idc基于isapi活動服務器頁面asp第三方解決方案操作系統幾乎任何操作系統windowntwindowntwindownt與具體產品有關web服務器主流web服務器均支持iisiisiis與具體產品有關運行速度每次請求均需要調入一次程序,隨著請求數量增加而變慢基于isapi擴展解釋方式,速度由于其與操作系統和web服務器結合緊密其速度快中一般較慢對編程人員要求需要對http、html、tcp\ip和cgi協議,sql、至少一種計算機編程語言熟悉html、sql、idc嵌入腳本面向對象的編程語言delphi、visualc++,熟悉網絡環境和協議、數據庫接口需要熟悉html、jscript或vbscripts腳本語言、sql有初步的html和網絡知識和產品要求的編程語言培訓對于網絡環境用戶較為容易容易較難較易容易適于程序規模任何規模小特殊要求或規模性程序中小中小

          表1幾種常用方法的對比

          3實例

          針對大慶采油四廠的具體情況,主要以dbasex數據庫和oracle數據為主,我們主要采取兩種方式,dbasex類型數據庫一般存放在windowntserver上,多數編程人員多適應xbase語言的編程,我們采用第三方產品,在服務器端安裝foxweb產品,這樣保證了現有軟件開發人員能夠利用foxpro進行cgi程序編制達到交互目的,有助于使現有程序員較為容易的掌握,從而盡快產生良好的效果。

          安裝foxweb產品后,其中一個名字為foxweb.exe的文件相當于一個普通的cgi程序,安裝在web服務器的cgi目錄下,用vfoxpro編寫的程序需要有它來解釋后執行。

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

          ?formfield():返回表單中變量的值

          ?totfields():對于多選值變量,判定變量值個數

          ?mergetxt():替換merge編碼中的<<和>>之間的變量

          oracle數據庫主要采用的是,服務器端直接安裝oracle公司提供的web服務功能,在此基礎上進行二次開發,或利用oracle產品的pro*c和sql查詢語言直接編寫cgi程序來達到交互使用,或使用odbc或jdbc數據庫接口產品與數據庫進行交互式操作。

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

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

          圖3使用odbc訪問數據庫(略)

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

          為odbc分配環境句柄

          分配一個連接句柄

          連接到數據庫

          用sql命令分配一個語句句柄

          傳送該語句

          關閉連接

          解除連接和環境句柄

          圖4使用jdbc訪問數據庫(略)

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

          建立連接

          創建statement對象,用于執行sql語句

          執行sql語句

          關閉statement對象

          關閉連接

          結論

          本文介紹的基于web交互式數據庫查詢技術中,基于foxwebcgi和基于java,odbc針對oracle的cgi編程技術已廣泛應用于大慶采油四廠生產開發信息查詢系統中,具有很強的實用性。隨著新技術的不斷出現和編程人員對web和網絡知識的了解和深入,我們可以采用更新、更好的技術的解決方案,特別是nt服務器iis的isapi技術。

          參考文獻

          (1)吳迪文,www數據庫系統信息集成技術,微機發展,no.1,1999.

          (2)劉軍等,基于web的交互式數據庫查詢技術,微機發展,no.4,1999.

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

          (4)王佑中著,web動態技術入門,機械工業出版社,1997.1.

          (5)(美)dongaspar著,楊曉云,王建橋譯,用c++開發web商用程序,機械工業出版社,1998.6.

          找范文。