河南牧業(yè)經(jīng)濟學院 趙洋
近年來我國網(wǎng)絡信息技術快速發(fā)展的環(huán)境背景下Web也開始迅猛進步,如何創(chuàng)建先進性、安全性、跨越平臺、效率較高的應用系統(tǒng)成為首要的工作。但是目前在Web應用開發(fā)的過程中經(jīng)常會出現(xiàn)數(shù)據(jù)庫訪問問題,基于此本文研究數(shù)據(jù)庫技術,提出Web應用開發(fā)的數(shù)據(jù)庫訪問技術建議,旨在為相關系統(tǒng)和平臺的快速發(fā)展提供幫助。
Web應用開發(fā)的過程中數(shù)據(jù)庫訪問技術的應用需結合實際情況完善技術模式,篩選最佳的技術措施、技術手段,利用科學化的技術模式增強數(shù)據(jù)庫訪問的全面性、安全性和有效性,預防出現(xiàn)數(shù)據(jù)庫訪問方面的問題、不足。
在傳統(tǒng)的HTML頁面方面主要利用公共網(wǎng)關接口也就是CGI所實現(xiàn),但是此類方式所開發(fā)出來的應用程序具有代碼繁瑣復雜的特點,并且在并發(fā)請求數(shù)量較多的情況下服務器系統(tǒng)的運行效率會有所降低。而以ASP技術等為基礎開發(fā)Web應用系統(tǒng),可通過在服務器端設置相關的腳本編寫模型的手段,利用很多腳本編寫語言完成操作,此類腳本能夠完成應用程序邏輯的執(zhí)行任務,對ActiveX組件進行調用,完成特殊性的數(shù)據(jù)庫任務,在一定程度上還可以簡易性將IDC與ISAPI之間相互整合,提供系統(tǒng)開發(fā)過程中的腳本調試工具、新ActiveX組件等,所以使用ASP技術實現(xiàn)Web應用系統(tǒng)開發(fā)期間的數(shù)據(jù)庫訪問已經(jīng)成為目前較為普遍、較為成熟的技術措施。在應用ASP技術的過程中可以通過傳統(tǒng)類型的IDC形式、ADO形式、RDS形式等完成數(shù)據(jù)庫的訪問,通過IIS所實現(xiàn),在系統(tǒng)運作的過程中,Web應用系統(tǒng)會通過瀏覽器HTTP的協(xié)議向著IIS提交訪問的請求,之后開展數(shù)據(jù)庫訪問的一系列操作,利用HTML的形式進行頁面的返回。
1.2.1 ODBC
對于ODBC而言主要就是開放數(shù)據(jù)庫互連,為了能夠使得編程語言與數(shù)據(jù)庫標準語言之間無縫性的連接,目前已經(jīng)有部分DBMS廠商會供應應用編程接口,也就是API,將數(shù)據(jù)庫訪問的所有操作當做編程語言領域中特殊類型的函數(shù)庫部分,但是每個DBMS廠商所供應的API都存在一定差異性,很難相互性的進行操作處理,并且應用程序代碼對API有著較高程度的依賴性,不能簡單做出改變。為確保Web應用程序可以應用同樣類型的API對數(shù)據(jù)庫進行訪問,ODBC也就是開放數(shù)據(jù)庫互連標準由此生成,可以將SQL語言作為基礎,實現(xiàn)異構SQL數(shù)據(jù)庫中公共界面的訪問目的,在此情況下,Web應用系統(tǒng)的開發(fā)者無需以針對性、具體性的DBMS作為基礎進行系統(tǒng)的開發(fā)。再加上各類DBMS存在獨特性、獨立性的驅動程序,應用系統(tǒng)中驅動程度能夠在計算機控制面板中尋找、添加或者是安裝,有助于提升系統(tǒng)應用、數(shù)據(jù)庫訪問的便利性。
1.2.2 數(shù)據(jù)訪問對象
(1)ADO主要就是進行ASP的編程拓展形式,可以為底層部分的數(shù)據(jù)接口OLE-DB提供相應的功能封裝,使得OLE-DB接口呈現(xiàn)出簡化的態(tài)勢。采用ADO的形式執(zhí)行數(shù)據(jù)庫訪問操作的過程中,最為建議的手段就是借助ADOData控件處理,同時還能形成相應關鍵性特征的支持:獨立性的完成對象創(chuàng)建操作、存儲期間與其他類型游標相互兼容操作、批量性修改與限制性返回行數(shù)目操作等。
(2)DAO主要代表的就是數(shù)據(jù)訪問對象,可以將Access VisualC++相互之間進行捆綁,實現(xiàn)Access底層數(shù)據(jù)庫結構的訪問目的,例如:Jet數(shù)據(jù)庫的有效訪問,屬于微軟在早期研究階段的數(shù)據(jù)存儲、提取的對象,和ADO相比之下功能較弱,在數(shù)據(jù)對象的訪問環(huán)節(jié)中與ADO的相關數(shù)據(jù)對象之間存在不能兼容的問題。
(3)RDO又被稱作是RDAO,代表的是遠程數(shù)據(jù)訪問對象,是微軟將DAO當做是基礎部分所研究的數(shù)據(jù)訪問對象,可以起到SQLSever服務器系統(tǒng)與VisualFoxPro服務器系統(tǒng)的訪問功能的強化作用,增強整體執(zhí)行工作的效果[1]。
1.2.3 IDC
對于IDC而言屬于Intemet數(shù)據(jù)接口,是傳統(tǒng)類型的數(shù)據(jù)信息查詢措施、查詢技術,具有數(shù)據(jù)查詢SQL命令的定義作用、執(zhí)行的作用,同時還能向瀏覽器系統(tǒng)中返回格式具有指定性特點的頁面,通過IDC的形式對數(shù)據(jù)庫進行訪問,操作流程非常簡單,無需重新編程即可完成相應的數(shù)據(jù)庫訪問任務。
1.2.4 RDS
從本質層面而言RDS指的就是遠程數(shù)據(jù)服務,通過ADC即高級的數(shù)據(jù)連接器系統(tǒng)所發(fā)展,在Web應用系統(tǒng)中主要是與ADO相互集成,采用同樣、一致性的編程模型,可以為系統(tǒng)提供遠程數(shù)據(jù)庫訪問的服務與支持[2]。
對于IDC文件而言主要涉及到ODBC數(shù)據(jù)源的部分、HTML擴展文件名的部分、SQL語言的部分與可選字段的部分。在應用IDC對數(shù)據(jù)庫進行訪問期間,HTML擴展文件名中能夠嵌入相應的文件鏈接部分,以此為基礎向著Web應用系統(tǒng)、服務器發(fā)送請求,在服務器接收到請求之后調用相對應的文件和數(shù)據(jù)源之間相互連接之后將命令SQL傳輸?shù)綌?shù)據(jù)庫系統(tǒng),系統(tǒng)執(zhí)行命令之后IDC會將所返回的數(shù)據(jù)內容融入到文件中,之后文檔會返回到Web應用系統(tǒng),之后服務器返回到瀏覽器的部分,完成所有的數(shù)據(jù)庫訪問任務。
從本質層面而言ADO屬于ASP對數(shù)據(jù)庫系統(tǒng)進行訪問的核心技術內容,和之前所提到的IDC存在很大的差異性,通過ADO針對數(shù)據(jù)庫進行訪問和編寫數(shù)據(jù)庫所使用的應用程序較為相似,而由于ADO在應用期間需要對腳本程序進行編寫,因此可以在應用系統(tǒng)開發(fā)過程中形成靈活性的數(shù)據(jù)庫訪問邏輯,同時可以將很多數(shù)據(jù)庫操作在對象中封裝,主要涉及到CommandCONNECTIONRecordset等很多對象與動態(tài)化的Properties的集合,此類組合形式可以進行很多種數(shù)據(jù)庫的訪問,完成很多種訪問的任務[3]。
在應用ADO技術的過程中還能開發(fā)、設置將Web當做是基礎部分對數(shù)據(jù)庫進行訪問的腳本編寫模型,除了會提供大型數(shù)據(jù)庫的功能支持之外,還會起到多數(shù)數(shù)據(jù)庫獨特性特點的支持作用,借助本機設備的數(shù)據(jù)源等利用ODBC針對數(shù)據(jù)庫系統(tǒng)進行訪問。此類數(shù)據(jù)庫在應用的過程中,屬于關系類型、文本類型、層次類型、其他能夠支持ODBC類型的數(shù)據(jù)庫,在整體的Web應用系統(tǒng)之內都可以通過ADO技術完成各項訪問任務,例如:在實際訪問期間為了能夠實現(xiàn)Web數(shù)據(jù)庫相應的存儲、提取的目的,程序系統(tǒng)在運行期間會最先通過ADO對象將ODBC驅動程序與需要打開的數(shù)據(jù)庫系統(tǒng)設定為訪問的對象,在完成對象指定之后就可以利用ADO對象進行SQL命令的下達,也可以直接進行對象的調用,達到對數(shù)據(jù)庫系統(tǒng)進行存儲或是提取的目的[4]。
Web應用系統(tǒng)實際開發(fā)和設計期間使用CGI數(shù)據(jù)庫訪問技術,能夠增強用戶操作的便利性與可靠度,但是在應用期間還可能會發(fā)生不足,例如:由于CGI程序在使用期間具備系統(tǒng)讀寫的相應權利,黑客可能會借助此類權利對數(shù)據(jù)庫中的數(shù)據(jù)進行讀取,出現(xiàn)數(shù)據(jù)被篡改或是丟失的現(xiàn)象。與此同時系統(tǒng)在運行期間如果操作的需求很多、所提交請求的數(shù)量很高,就會有與之相對應大量的啟動,導致計算機中很多系統(tǒng)的資源都會被占用,應用期間的事務處理效率有所降低。因此在相關系統(tǒng)開發(fā)的環(huán)節(jié)應結合技術和程序的特點適當選擇應用相應的技術,以免影響各項工作質量[5]。
此類技術在應用期間又被稱作是JAVA數(shù)據(jù)庫系統(tǒng)的連接技術,從本質層面而言和API技術之間存在直接的聯(lián)系,可以使得操作人員、系統(tǒng)開發(fā)人員在程序內部全面性的執(zhí)行SQL語句。在應用期間可以通過JAVA語言按照需求開發(fā)“類”或是“界面”,能夠為應用程序、應用系統(tǒng)的設計提供標準化接口,便于軟件開發(fā)的人員執(zhí)行工作,增強數(shù)據(jù)庫系統(tǒng)訪問的便捷度,SQL語言也能夠方便性、針對性的實現(xiàn)數(shù)據(jù)庫訪問的操作目標[6]。
目前在API技術實際運用的過程中已經(jīng)開始出現(xiàn)很多可視化的編程操作工具與技術措施,此類工具高度性集成了很多類庫系統(tǒng)與控件的部分,能夠加快編程工作的速度,無需考慮相關的細節(jié)性問題,可以將所有的目光、所有的努力都集中在程序性能與功能方面,甚至還能借助可視化工具中的類庫系統(tǒng)、控件部分等將多種類型的API函數(shù)相互整合、相互集成,利用整體性的手段為用戶所呈現(xiàn)。當前系統(tǒng)開發(fā)領域中可以使用的API技術版本較多,例如:NSAPI、ISAPI等,無論何種形式都可以使得人員在編程期間利用標準化的手段、措施等實現(xiàn)數(shù)據(jù)庫系統(tǒng)的訪問目的[7]。
此類技術又被稱作是動態(tài)服務器頁面,技術資本就屬于動態(tài)頁面技術,開發(fā)出來的目的就是替代之前的CGI腳本程序運用到Web應用系統(tǒng)的開發(fā)領域中,不需要設定獨立性、專門性的編程語言,只需要利用腳本語言就可以保證整體系統(tǒng)和程序編寫的效果,例如:Java語言、VBscript語言、Script語言,將其設置在Web應用系統(tǒng)和程序服務器端的部分,以頁面的形式將程序運作的結果輸送到客戶端的瀏覽器系統(tǒng),具有一定的可靠性。并且使用ASP技術實現(xiàn)Web應用系統(tǒng)開發(fā)期間的數(shù)據(jù)庫訪問工作,具有操作便利性的優(yōu)勢,可以通過將相應的程序與頁面文件HTML相互整合并嵌入其中,開發(fā)、執(zhí)行都具有簡易性的優(yōu)勢,無需再次重新編譯,只需簡單的做出解釋即可。而且在使用面向對象編程措施的過程中,某些系統(tǒng)組件或是ASP的內置性組件在運行期間可在腳本內部便利性的應用,還能借助ActiveX組件技術方式編制、完善新的系統(tǒng)功能。另外技術在應用過程中代碼生成具有便利性的特征,通過網(wǎng)頁編輯類型、文本編輯類型的工具就可以高效化、簡單性、便利性的完成相關編程任務。技術在應用期間不對任何瀏覽器產生依賴作用,所有的瀏覽器系統(tǒng)都能夠進行程序運行結果的查看,能夠避免數(shù)據(jù)庫訪問的環(huán)節(jié)中因為瀏覽器的應用不合理出現(xiàn)問題。APS技術在應用期間還具備源代碼高度安全性的優(yōu)勢,主要因為在服務器中應用腳本程序的過程中,可以傳遞執(zhí)行結果、生成相應的界面,預防安全隱患問題、風險問題,增強整體系統(tǒng)應用、運行的安全水平[8]。
綜上所述,近年來在Web應用系統(tǒng)實際開發(fā)、編程的過程中受到多種因素影響經(jīng)常發(fā)生問題,不能確保數(shù)據(jù)庫的安全、高效率訪問。在此情況下就需結合Web應用系統(tǒng)的特點與情況,合理運用各類開發(fā)技術進行處理,增強數(shù)據(jù)庫訪問的安全性、穩(wěn)定性、便利性、簡易性,彰顯各類技術的價值優(yōu)勢,確保系統(tǒng)的開發(fā)與編程等各項工作高質量完成,達到數(shù)據(jù)庫良好訪問的目標。