李建勛
[摘要]ASP(Active Server Pages)簡(jiǎn)言之就是一個(gè)服務(wù)器端的(Server-side)腳本執(zhí)行環(huán)境,你可以用它產(chǎn)生和執(zhí)行動(dòng)態(tài)的、交互的、高性能的Web服務(wù)器應(yīng)用程序。主要討論ASP技術(shù),并重點(diǎn)描述ASP在電子商務(wù)中數(shù)據(jù)的訪問(wèn)技術(shù)以及其在電子商務(wù)中的應(yīng)用。
[關(guān)鍵詞]ASP技術(shù) 電子商務(wù) 數(shù)據(jù)訪問(wèn)方式
中圖分類號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)0520030-01
一、ASP簡(jiǎn)介
ASP(Active Server Pages)簡(jiǎn)言之就是一個(gè)服務(wù)器端的(Server-side)腳本執(zhí)行環(huán)境,你可以用它產(chǎn)生和執(zhí)行動(dòng)態(tài)的、交互的、高性能的Web服務(wù)器應(yīng)用程序。當(dāng)腳本在服務(wù)器端而不是在客戶端執(zhí)行時(shí),Web服務(wù)器將完成包括產(chǎn)生發(fā)往瀏覽器的HTML(Hypertext Markup Language)頁(yè)的所有工作。不必?fù)?dān)心瀏覽器是否能執(zhí)行你的網(wǎng)頁(yè):Web服務(wù)器將完成所有的處理工作。ASP程序其實(shí)是以擴(kuò)展名為.asp的純文本形式存在于WEB服務(wù)器上的你可以用任
何文本編輯器打開(kāi)它,ASP程序中可以包含純文本、HTML標(biāo)記以及腳本命令你可以通過(guò)WWW的方式訪問(wèn)ASP程序。
二、電子商務(wù)數(shù)據(jù)訪問(wèn)方式
在電子商務(wù)系統(tǒng)中,Web提供了與客戶進(jìn)行通信聯(lián)絡(luò)的有效手段,利用Web技術(shù),實(shí)現(xiàn)Web服務(wù)器與數(shù)據(jù)庫(kù)系統(tǒng)的連接,完成對(duì)數(shù)據(jù)的處理與查詢,用戶可以通過(guò)操作簡(jiǎn)單易學(xué)的瀏覽器來(lái)查詢處理所需要的各種數(shù)據(jù)。實(shí)現(xiàn)Web服務(wù)器與數(shù)據(jù)庫(kù)的連接一般有兩種方法:一種是利用中間技術(shù)在兩者之間建立連接和通信,如CGI(通用網(wǎng)關(guān)接口)和API(應(yīng)用程序編程接口)。Web服務(wù)器通過(guò)調(diào)用CGI程序?qū)崿F(xiàn)與Web瀏覽器的交互,即CGI程序接受瀏覽器發(fā)給Web服務(wù)器的信息,進(jìn)行處理后,將相應(yīng)結(jié)果再送回給Web服務(wù)器,通過(guò)Web服務(wù)器將信息傳送給瀏覽器。另一種是由瀏覽器中的Java小應(yīng)用程序(Java Applet)通過(guò)瀏覽器訪問(wèn)Web服務(wù)器上的數(shù)據(jù)庫(kù),利用了JDBC(Java Database Connectivity)技術(shù),它通過(guò)JDBC提供的API實(shí)現(xiàn)對(duì)Web Server的訪問(wèn)。由于Java Applet本身的局限性,目前大多數(shù)的應(yīng)用是基于中間件技術(shù)的。ASP也是屬于中間件的一種模式,但在Windows平臺(tái)上它比較網(wǎng)關(guān)及服務(wù)器擴(kuò)展模式有著較大的優(yōu)點(diǎn)。
三、ASP在電子商務(wù)中的應(yīng)用
在電子商務(wù)中,對(duì)用戶而言,進(jìn)行網(wǎng)上信息查詢的目的是尋找自己需要的商品或服務(wù),而對(duì)于商品或服務(wù)提供者
來(lái)說(shuō),其目的則是向用戶推銷自己的商品或服務(wù)。因此,讓用戶通過(guò)瀏覽器查詢服務(wù)器的后端數(shù)據(jù)庫(kù)是許多Web服務(wù)提供者必需有的服務(wù),ASP通過(guò)內(nèi)置的ADODB組件來(lái)實(shí)現(xiàn)這一功能。可以使用ADO去編寫(xiě)緊湊簡(jiǎn)明的腳本以便連接到ODBC 兼容的數(shù)據(jù)庫(kù)和OLE DB兼容的數(shù)據(jù)源。具體的操作步驟可以歸納為以下幾步:
1.創(chuàng)建數(shù)據(jù)庫(kù)源名(DSN)
ADODB通過(guò)ODBC工作,因此要在ODBC中設(shè)置DSN(數(shù)據(jù)源名)。打開(kāi)Windows的"控制面板",雙擊"ODBC"的圖標(biāo),選擇"文件DSN"的屬性頁(yè),單擊<添加>,選擇數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序,再單擊"下一步",按指示鍵入數(shù)據(jù)源文件名稱,單擊"下一步",再單擊"完成"創(chuàng)建數(shù)據(jù)源。
2.創(chuàng)建數(shù)據(jù)庫(kù)鏈接
鏈接用以保持一些關(guān)于正在訪問(wèn)的數(shù)據(jù)的動(dòng)態(tài)信息,以及鏈接者信息。利用ADODB的成員函數(shù)Open和先前設(shè)定的DSN與數(shù)據(jù)庫(kù)連接,其語(yǔ)法如下:
Set Conn=Server.CreateObject("ADODB.Connection")'創(chuàng)建了鏈接對(duì)象Connect。Connect.Open("DSN=dsnname;UID=userID;PWD=passwo
rd")'打開(kāi)鏈接。dsnname為數(shù)據(jù)源名;userID為用戶名;password為用戶口令。
3.創(chuàng)建數(shù)據(jù)對(duì)象
ADO中的數(shù)據(jù)對(duì)象通常保存的是查詢結(jié)果。RecordSet是ADO中最復(fù)雜的對(duì)象,有許多屬性和方法,靈活運(yùn)用,可以達(dá)到許多好的效果。其創(chuàng)建方法如下:
Set RecordSet =Connect.Execute(sqtStr)
創(chuàng)建并打開(kāi)了對(duì)象RecordSet,sqtStr是一個(gè)串,代表一條標(biāo)準(zhǔn)的SQL
語(yǔ)句。如:sqlStr="SELECT*FROM b1"Set RecordSet =Connect.Execute
(sqlStr)這條語(yǔ)句執(zhí)行后,對(duì)象RecordSet中就保存了b1中的所有記錄。
4.操作數(shù)據(jù)庫(kù)
可利用Execute方便地執(zhí)行數(shù)據(jù)的插入、修改、刪除等操作。如執(zhí)行插入操作:sqlStr="Insert Into b1Values(1,2)"Connect.Execute(sq
lStr)
5.關(guān)閉數(shù)據(jù)對(duì)象和鏈接
在使用了ADO對(duì)象之后,一定要關(guān)閉數(shù)據(jù)對(duì)象和鏈接。在ASP中通過(guò)調(diào)用方法close實(shí)現(xiàn)關(guān)閉。關(guān)閉創(chuàng)建的數(shù)據(jù)對(duì)象:Record Set.close Set Rec
ord Set=Nothing關(guān)閉創(chuàng)建的鏈接對(duì)象:Connect. close Set Connect=No
thing 完整的程序片段:
//產(chǎn)生組件實(shí)例
<%Set Conn=Server.CreateObject("ADODB.Connection")
//取得當(dāng)前數(shù)據(jù)庫(kù)的實(shí)際路徑
DBPath=Server.MapPath("DSN=dsnname;UID=userID;PWD=password")
//連接數(shù)據(jù)庫(kù)
Conn.Open("DSN=dsnname;UID=userID;PWD=password")
//執(zhí)行查詢
SQL=select*fromtablenameSetRS=Connect.Execute(SQL)%>
//顯示結(jié)果
<%Do While Not RS.EOF%>
<%=RS(fieldname)%> <%Rs.MoveNextLoop %>
上述是用ASP訪問(wèn)數(shù)據(jù)庫(kù)的全過(guò)程,由于應(yīng)用面向?qū)ο笏枷?,所有操作都比較簡(jiǎn)單,用戶需要注意的僅是對(duì)數(shù)據(jù)結(jié)構(gòu)的了解、當(dāng)前所操作的對(duì)象及對(duì)象的屬性等等,只要對(duì)這些有了清晰的認(rèn)識(shí),再加上ASP強(qiáng)大功能,在網(wǎng)絡(luò)上使用數(shù)據(jù)庫(kù),實(shí)現(xiàn)用戶與頁(yè)面間交換信息,就再也不是什么難事了。
四、結(jié)束語(yǔ)
隨著Web技術(shù)的發(fā)展,基于Intranet的電子商務(wù)系統(tǒng)無(wú)疑較傳統(tǒng)商務(wù)有著更大的應(yīng)用前景,如何提高這種電子商統(tǒng)中的數(shù)據(jù)訪問(wèn)效率、事務(wù)處理能力以及如何維護(hù)ASP應(yīng)用程序的安全仍是當(dāng)前人們所關(guān)注的問(wèn)題。
參考文獻(xiàn):
[1]李昭原主編,數(shù)據(jù)庫(kù)技術(shù)新發(fā)展,清華大學(xué)出版社,1997.
[2]桂立華主編,互聯(lián)網(wǎng)軟件應(yīng)用與開(kāi)發(fā),高等教育出版社,2004.
[3]周世雄著,NT動(dòng)態(tài)站點(diǎn)設(shè)計(jì)指南,大連理工大學(xué)出版社.