計(jì)算機(jī)畢業(yè)論文范文-基于web的交互式數(shù)據(jù)庫(kù)查詢技術(shù)
時(shí)間:2022-06-07 04:24:00
導(dǎo)語(yǔ):計(jì)算機(jī)畢業(yè)論文范文-基于web的交互式數(shù)據(jù)庫(kù)查詢技術(shù)一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要:介紹通過(guò)web服務(wù)器實(shí)現(xiàn)數(shù)據(jù)庫(kù)動(dòng)態(tài)數(shù)據(jù)交互的幾種方法及其對(duì)比,著重以實(shí)例說(shuō)明如何實(shí)現(xiàn)與dbasex和oracle數(shù)據(jù)庫(kù)的交互操作。
關(guān)鍵詞:web,cgi,isapi,asp
1概述
web技術(shù)是一項(xiàng)很新的技術(shù),它不僅為internet的廣泛普及起到關(guān)鍵性的作用,而且還在其他相關(guān)計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用技術(shù)發(fā)展中起到關(guān)鍵作用,例如intranet、電子商務(wù)等,目前它已成為計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用的一個(gè)主要技術(shù),尤其重要的技術(shù)是web動(dòng)態(tài)技術(shù),與后臺(tái)數(shù)據(jù)庫(kù)的交互式動(dòng)態(tài)查詢技術(shù)。本文針對(duì)常用的web動(dòng)態(tài)技術(shù),與數(shù)據(jù)庫(kù)交互技術(shù)作以介紹。
2實(shí)現(xiàn)web動(dòng)態(tài)技術(shù)的幾種方法
2.1利用cgi實(shí)現(xiàn)web動(dòng)態(tài)技術(shù)
在web應(yīng)用中,與其他動(dòng)態(tài)編程技術(shù)相比,cgi技術(shù)雖然是一項(xiàng)很早期的技術(shù),有很多的不足,性能差、需要大量的http知識(shí)、不靈活等等,但筆者認(rèn)為它還是具有很強(qiáng)的使用性,因?yàn)槠涫褂闷毡椋芏鄔eb服務(wù)器均支持。就其協(xié)議而言,具有簡(jiǎn)單、易掌握,見效快等特點(diǎn)。因此本文介紹的應(yīng)用實(shí)例主要是基于它的。
cgi是commongatewayinterface的縮寫,目前大多數(shù)的web產(chǎn)品提供此項(xiàng)服務(wù)功能,它可以使用任何一種計(jì)算機(jī)語(yǔ)言編寫,使用尤其廣泛的有c、perl、c++語(yǔ)言,在internet上有很多相關(guān)的資料和程序及源代碼。
它的運(yùn)行過(guò)程如圖1,web服務(wù)器接受客戶端瀏覽器的url請(qǐng)求,找到cgi程序后,啟動(dòng)并產(chǎn)生一個(gè)cgi進(jìn)程,將系統(tǒng)參數(shù)和用戶請(qǐng)求參數(shù)交給cgi進(jìn)程,由cgi進(jìn)程提取數(shù)據(jù)庫(kù)中數(shù)據(jù)處理后,產(chǎn)生結(jié)果,反饋給web服務(wù)器,由其反饋給用戶端瀏覽器。這樣完成了一個(gè)請(qǐng)求過(guò)程。
圖1cgi調(diào)用流程(略)
idc(internet數(shù)據(jù)庫(kù)連接器)
通過(guò)使用internet數(shù)據(jù)庫(kù)連接器可以你的數(shù)據(jù)庫(kù),允許用戶訪問(wèn)數(shù)據(jù),只需開發(fā)者編寫最少量的代碼。你只需提供sql查詢(idc將在數(shù)據(jù)庫(kù)上執(zhí)行它)和模板(描述數(shù)據(jù)顯示和收集的方式),而揮媒懈叢擁某絳蟶杓?,这种方法室暶釉傭单的不需要控制好摍─数臼~某絳頡k荌is的功能之一,iis通過(guò)調(diào)用一個(gè)名為httpodbc.dll的isapi應(yīng)用程序處理.idc和.htx文件實(shí)現(xiàn)的,調(diào)用處理過(guò)程如圖2,它是一個(gè)不連續(xù)的循環(huán)。應(yīng)用中要注意隱藏.idc和.htx文件。保證應(yīng)用程序和數(shù)據(jù)庫(kù)的安全性。
圖2idc應(yīng)用程序的處理過(guò)程(略)
基于isapi的解決方案
isapi(internetserverapplicationprogramminginterface)是microsoft的iis提供的一種新的接口標(biāo)準(zhǔn),用于開發(fā)交互式web應(yīng)用程序,它采用的語(yǔ)言多為面向?qū)ο蟮木幊陶Z(yǔ)言如visualc++、delphi等,它與cgi程序很相似,但在性能方面較cgi應(yīng)用程序相比有較大提高,在執(zhí)行時(shí)不需要重復(fù)裝入代碼,能夠降低系統(tǒng)開銷,提高運(yùn)行速度;具有很強(qiáng)的靈活性,與服務(wù)器之間能夠很好的銜接,能夠?qū)崿F(xiàn)一些很復(fù)雜的操作和控制。分為isapi擴(kuò)展程序和isapi過(guò)濾器兩種方式,前者主要完成類似cgi程序的功能,后者能夠?qū)崿F(xiàn)與iis的更完美的結(jié)合,可以監(jiān)督所有的驗(yàn)證請(qǐng)求或所有服務(wù)器發(fā)送到用戶的數(shù)據(jù),過(guò)濾器跨越整個(gè)服務(wù)器,并能影響服務(wù)器的工作方式.但isapi編程需要開發(fā)者有熟練的經(jīng)驗(yàn),特別對(duì)服務(wù)器操作、客戶端與服務(wù)器之間的通訊方式的較深的理解和嫻熟的編程技巧。
活動(dòng)服務(wù)器頁(yè)面(activeserverpages)
它是由第三版iis提供的新特性,實(shí)質(zhì)是通過(guò)一個(gè)名為sspifilt.dll的isapi過(guò)濾器實(shí)現(xiàn)的,主要提供的功能是開發(fā)人員可以通過(guò)使用服務(wù)器端腳本(vbscript或vcscript)動(dòng)態(tài)生成網(wǎng)頁(yè),可以同訪問(wèn)數(shù)據(jù)庫(kù)的activex控件連接在一起使用來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的動(dòng)態(tài)交互查詢。是目前較新的一種技術(shù)。
第三方解決方案
許多第三方工具可以用來(lái)幫助你創(chuàng)建交互式web應(yīng)用程序,它們主要改善了cgi程序的開發(fā)環(huán)境,降低開發(fā)人員掌握基于web的數(shù)據(jù)庫(kù)交互式應(yīng)用程序的開發(fā)難度,幫助你使用所熟悉環(huán)境來(lái)開發(fā)應(yīng)用程序,保存現(xiàn)有應(yīng)用程序代碼的移植和復(fù)用性。值得一提的產(chǎn)品有以下幾種產(chǎn)品:
webaction是classtools公司的產(chǎn)品,網(wǎng)址:/
tornado網(wǎng)址:/tornado.htm
webhub是hreftools公司的產(chǎn)品,網(wǎng)址:/
foxweb是fox公司的產(chǎn)品,網(wǎng)址:/
幾種常用方法的對(duì)比見表1。
方法
名稱
對(duì)比項(xiàng)目
基于cgi技術(shù)數(shù)據(jù)庫(kù)連接器idc基于isapi活動(dòng)服務(wù)器頁(yè)面asp第三方解決方案操作系統(tǒng)幾乎任何操作系統(tǒng)windowntwindowntwindownt與具體產(chǎn)品有關(guān)web服務(wù)器主流web服務(wù)器均支持iisiisiis與具體產(chǎn)品有關(guān)運(yùn)行速度每次請(qǐng)求均需要調(diào)入一次程序,隨著請(qǐng)求數(shù)量增加而變慢基于isapi擴(kuò)展解釋方式,速度由于其與操作系統(tǒng)和web服務(wù)器結(jié)合緊密其速度快中一般較慢對(duì)編程人員要求需要對(duì)http、html、tcp\ip和cgi協(xié)議,sql、至少一種計(jì)算機(jī)編程語(yǔ)言熟悉html、sql、idc嵌入腳本面向?qū)ο蟮木幊陶Z(yǔ)言delphi、visualc++,熟悉網(wǎng)絡(luò)環(huán)境和協(xié)議、數(shù)據(jù)庫(kù)接口需要熟悉html、jscript或vbscripts腳本語(yǔ)言、sql有初步的html和網(wǎng)絡(luò)知識(shí)和產(chǎn)品要求的編程語(yǔ)言培訓(xùn)對(duì)于網(wǎng)絡(luò)環(huán)境用戶較為容易容易較難較易容易適于程序規(guī)模任何規(guī)模小特殊要求或規(guī)模性程序中小中小
表1幾種常用方法的對(duì)比
3實(shí)例
針對(duì)大慶采油四廠的具體情況,主要以dbasex數(shù)據(jù)庫(kù)和oracle數(shù)據(jù)為主,我們主要采取兩種方式,dbasex類型數(shù)據(jù)庫(kù)一般存放在windowntserver上,多數(shù)編程人員多適應(yīng)xbase語(yǔ)言的編程,我們采用第三方產(chǎn)品,在服務(wù)器端安裝foxweb產(chǎn)品,這樣保證了現(xiàn)有軟件開發(fā)人員能夠利用foxpro進(jìn)行cgi程序編制達(dá)到交互目的,有助于使現(xiàn)有程序員較為容易的掌握,從而盡快產(chǎn)生良好的效果。
安裝foxweb產(chǎn)品后,其中一個(gè)名字為foxweb.exe的文件相當(dāng)于一個(gè)普通的cgi程序,安裝在web服務(wù)器的cgi目錄下,用vfoxpro編寫的程序需要有它來(lái)解釋后執(zhí)行。
在foxweb中提供全局變量“cgi.參數(shù)名字”和下面3個(gè)函數(shù)主要是傳遞客戶端和服務(wù)器端的一些信息和解釋、提取超文本表單的用戶請(qǐng)求數(shù)據(jù)和合并混有普通visualfoxpro程序數(shù)據(jù)變量的超文代碼,是其成為用戶能夠?yàn)g覽的信息。foxpro程序員只需對(duì)這些有一個(gè)透徹的理解并掌握一定超文本知識(shí)就能夠進(jìn)行基于web的編程。
?formfield():返回表單中變量的值
?totfields():對(duì)于多選值變量,判定變量值個(gè)數(shù)
?mergetxt():替換merge編碼中的<<和>>之間的變量
oracle數(shù)據(jù)庫(kù)主要采用的是,服務(wù)器端直接安裝oracle公司提供的web服務(wù)功能,在此基礎(chǔ)上進(jìn)行二次開發(fā),或利用oracle產(chǎn)品的pro*c和sql查詢語(yǔ)言直接編寫cgi程序來(lái)達(dá)到交互使用,或使用odbc或jdbc數(shù)據(jù)庫(kù)接口產(chǎn)品與數(shù)據(jù)庫(kù)進(jìn)行交互式操作。
客戶端的動(dòng)態(tài)方式,一種利用html的表單和url的附加查詢串向服務(wù)器的cgi程序傳遞請(qǐng)求,cgi程序?qū)?shù)據(jù)以超文本形式返回給客戶,這種方式可以通過(guò)一些嵌入的腳本語(yǔ)言來(lái)進(jìn)行表單的預(yù)處理,來(lái)減少cgi程序的負(fù)荷,提高cgi的執(zhí)行效率。另一種方式是采用javaapplet進(jìn)行交互,這樣可以使程序具有更好的交互性,圖形化,而且這樣由于javaapplet是下載到客戶端運(yùn)行的,而且javaapplet有很強(qiáng)的圖形處理和應(yīng)用程序接口能力,這樣cgi程序只需將基本數(shù)據(jù)提取后,返回到客戶端即可,這樣可以大大降低服務(wù)器端的負(fù)荷,將運(yùn)算量分散到客戶端,使得負(fù)荷得到均衡。
在實(shí)現(xiàn)這些內(nèi)容時(shí),數(shù)據(jù)庫(kù)的接口也是一個(gè)很重要的方面,下面列出cgi程序、odbc、jdbc、javaapplet之間的數(shù)據(jù)交換簡(jiǎn)圖和基本步驟,無(wú)論如何在使用這些之前,都需要在數(shù)據(jù)庫(kù)服務(wù)器上建立相應(yīng)驅(qū)動(dòng)程序和數(shù)據(jù)源,詳細(xì)內(nèi)容請(qǐng)查閱本文后面列出的書籍。
圖3使用odbc訪問(wèn)數(shù)據(jù)庫(kù)(略)
使用odbc的基本步驟是:見圖3所示。
為odbc分配環(huán)境句柄
分配一個(gè)連接句柄
連接到數(shù)據(jù)庫(kù)
用sql命令分配一個(gè)語(yǔ)句句柄
傳送該語(yǔ)句
關(guān)閉連接
解除連接和環(huán)境句柄
圖4使用jdbc訪問(wèn)數(shù)據(jù)庫(kù)(略)
使用jdbc的基本步驟是:見圖4所示。
建立連接
創(chuàng)建statement對(duì)象,用于執(zhí)行sql語(yǔ)句
執(zhí)行sql語(yǔ)句
關(guān)閉statement對(duì)象
關(guān)閉連接
結(jié)論
本文介紹的基于web交互式數(shù)據(jù)庫(kù)查詢技術(shù)中,基于foxwebcgi和基于java,odbc針對(duì)oracle的cgi編程技術(shù)已廣泛應(yīng)用于大慶采油四廠生產(chǎn)開發(fā)信息查詢系統(tǒng)中,具有很強(qiáng)的實(shí)用性。隨著新技術(shù)的不斷出現(xiàn)和編程人員對(duì)web和網(wǎng)絡(luò)知識(shí)的了解和深入,我們可以采用更新、更好的技術(shù)的解決方案,特別是nt服務(wù)器iis的isapi技術(shù)。
參考文獻(xiàn)
(1)吳迪文,www數(shù)據(jù)庫(kù)系統(tǒng)信息集成技術(shù),微機(jī)發(fā)展,no.1,1999.
(2)劉軍等,基于web的交互式數(shù)據(jù)庫(kù)查詢技術(shù),微機(jī)發(fā)展,no.4,1999.
(3)王克宏編譯,java語(yǔ)言與sql接口,清華大學(xué)出版社,1997.4
(4)王佑中著,web動(dòng)態(tài)技術(shù)入門,機(jī)械工業(yè)出版社,1997.1.
(5)(美)dongaspar著,楊曉云,王建橋譯,用c++開發(fā)web商用程序,機(jī)械工業(yè)出版社,1998.6.
找范文。
熱門標(biāo)簽
計(jì)算機(jī)論文 計(jì)算機(jī)畢業(yè)論文 計(jì)算機(jī)技術(shù)論文 計(jì)算機(jī)教育論文 計(jì)算機(jī)專業(yè)論文 計(jì)算機(jī)教學(xué)論文 計(jì)算機(jī)基礎(chǔ)論文 計(jì)算機(jī)專業(yè)畢業(yè)論文 計(jì)算機(jī)應(yīng)用論文 計(jì)算化學(xué)論文 心理培訓(xùn) 人文科學(xué)概論