摘 要:介紹了動態(tài)網(wǎng)頁技術(shù)ASP和數(shù)據(jù)庫連接技術(shù) ODBC,并討論了在 ASP 中數(shù)據(jù)庫連接技術(shù)ODBC的方法。
關(guān)鍵詞:ASP;ODBC;數(shù)據(jù)庫;連接
中圖分類號:TP311.13
1 ASP技術(shù)
1.1 ASP概述
ASP是一個Web服務(wù)器端的開發(fā)環(huán)境,它提供了一個在服務(wù)器端執(zhí)行腳本指令的環(huán)境,通過這種環(huán)境,用戶可以創(chuàng)建和運行動態(tài)的Web應(yīng)用程序。利用ASP不僅能夠產(chǎn)生動態(tài)的、相互的、高性能的Web Services應(yīng)用程序,而且可以進(jìn)行復(fù)雜的數(shù)據(jù)庫操作。
1.2 ASP的特點
(1)ASP無須編譯。ASP腳本集成于HTML中,無需編譯或鏈接即可直接解釋執(zhí)行。(2)ASP易于生成。使用常規(guī)文本編輯器即可進(jìn)行頁面的設(shè)計。(3)ASP獨立于瀏覽器。用戶端只要使用可解釋常規(guī)HTML碼的瀏覽器,即可瀏覽ASP所設(shè)計的主頁。(4)ASP腳本是在站點服務(wù)器端執(zhí)行的。因此,若不通過從服務(wù)器下載來觀察ASP主頁,瀏覽器端將看不到正確的頁面內(nèi)容。(5)在ASP腳本中可以方便地引用系統(tǒng)組件和ASP的內(nèi)置組件,還能通過定制ActiveX服務(wù)器組件來擴充功能。與任何ActiveX Scripting語言兼容。(6)原程序不會外漏。ASP腳本在服務(wù)器上執(zhí)行,傳到用戶瀏覽器的只是ASP執(zhí)行后生成的常規(guī)HTML碼,這樣可保證程序代碼不會被他人盜取。
1.3 ASP工作原理
ASP可用來產(chǎn)生和執(zhí)行動態(tài)的高性能的Web服務(wù)器程序。如圖1-1所示,當(dāng)用戶通過瀏覽器申請一個ASP主頁時,Web服務(wù)器響應(yīng)該HTTP請求。當(dāng)遇到任何與ActiveX Scripting兼容的腳本時,ASP引擎會調(diào)用相應(yīng)的腳本引擎進(jìn)行處理。若腳本指令中含有訪問數(shù)據(jù)庫的請求,就通過ODBC與后臺數(shù)據(jù)庫相連,由數(shù)據(jù)庫訪問組件ADO執(zhí)行數(shù)據(jù)庫訪問操作。ASP腳本是在服務(wù)器端解釋執(zhí)行的,它依據(jù)訪問數(shù)據(jù)庫后返回的結(jié)果集自動生成符合HTML語言的主頁,以響應(yīng)用戶的請求。所有相關(guān)的工作都由Web服務(wù)器負(fù)責(zé)。在結(jié)構(gòu)關(guān)系上,ASP通過ODBC與數(shù)據(jù)庫打交道,由此可向上兼容各類數(shù)據(jù)庫系統(tǒng)。圖1-1表示了ASP的工作原理。
圖1-1 ASP的工作原理
2 數(shù)據(jù)庫連接技術(shù)ODBC
2.1 ODBC簡介
開放數(shù)據(jù)庫互連(ODBC)是微軟公司開放服務(wù)結(jié)構(gòu)中有關(guān)數(shù)據(jù)庫的一個組成部分,它建立了一組規(guī)范,并提供了一組對數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)API(應(yīng)用程序編程接口)。ODBC本身也提供了對SQL語言的支持,用戶可以直接將SQL語句送給ODBC。
ODBC提供了對關(guān)系數(shù)據(jù)庫訪問的統(tǒng)一接口,實現(xiàn)了對異構(gòu)數(shù)據(jù)源的一致訪問。也就是說,一個基于ODBC的應(yīng)用程序?qū)?shù)據(jù)庫的操作不依賴任何DBMS,不直接與DBMS打交道,所有的數(shù)據(jù)庫操作由對應(yīng)的DBMS的ODBC驅(qū)動程序完成。
2.2 ODBC結(jié)構(gòu)
一個完整的ODBC結(jié)構(gòu)由以下幾個部分組成,其模型結(jié)構(gòu)如圖1-2所示。
圖1-2 ODBC模型結(jié)構(gòu)圖
下面對ODBC各個模塊進(jìn)行介紹:(1)ODBC管理器。該程序位于Windows操作系統(tǒng)控制面板中,其主要任務(wù)是管理安裝的ODBC驅(qū)動程序和數(shù)據(jù)源。(2)驅(qū)動程序管理器。驅(qū)動程序管理器,其主要任務(wù)是管理ODBC的多個驅(qū)動程序,即管理裝載和卸載ODBC驅(qū)動程序,處理ODBC API的調(diào)用和將ODBC API的調(diào)用轉(zhuǎn)發(fā)給對應(yīng)的ODBC驅(qū)動程序,它是ODBC中最重要的部分。(3)驅(qū)動程序。驅(qū)動程序提供了ODBC與數(shù)據(jù)庫的接口。驅(qū)動程序與DBMS是一一對應(yīng)的,即SQL Server的ODBC驅(qū)動程序?qū)?yīng)SQL Server數(shù)據(jù)庫管理系統(tǒng),它不能直接訪問其他數(shù)據(jù)庫,驅(qū)動程序僅能提供其對應(yīng)DBMS提供的功能。(4)ODBC API。ODBC API是ODBC的應(yīng)用程序編程接口,它直接對ODBC驅(qū)動程序管理器進(jìn)行操作,通過提供一系列的函數(shù)來實現(xiàn)相關(guān)操作。(5)數(shù)據(jù)源。一個ODBC數(shù)據(jù)源包含一組特定的數(shù)據(jù),以及訪問這些數(shù)據(jù)所需要的信息,每一個數(shù)據(jù)源用一個特定的名稱標(biāo)識,稱之為“數(shù)據(jù)源名”(DNS)。DNS又分為用戶、系統(tǒng)和文件三種類型。(6)應(yīng)用程序。 應(yīng)用程序是用某種應(yīng)用程序開發(fā)工具,開發(fā)的面向某個實際應(yīng)用的程序。此應(yīng)用程序?qū)⒁幚淼南鄬潭ǖ臄?shù)據(jù)存儲在某個數(shù)據(jù)庫中,通過設(shè)計程序界面和用戶進(jìn)行交互,通過程序邏輯完成用戶的各項要求,從而達(dá)到其預(yù)定目標(biāo)。
3 通過ODBC實現(xiàn)ASP與數(shù)據(jù)庫連接
ASP利用ADO+ODBC技術(shù)來實現(xiàn)與后臺數(shù)據(jù)庫的連接,一般經(jīng)過以下幾個步驟:
第一步:創(chuàng)建數(shù)據(jù)源
通過服務(wù)器上“控制面板”的ODBC建立DNS,選定數(shù)據(jù)庫所用的驅(qū)動程序和數(shù)據(jù)庫文件等。
使用系統(tǒng) DSN 建立連接的方法:(1)在控制面板中打開 ODBC 數(shù)據(jù)源管理器,選擇“系統(tǒng) DSN”,再單擊 “添加”;(2)選擇想要安裝數(shù)據(jù)源的驅(qū)動程序,選擇“ Microsoft Access Driver (*.mdb)”微軟 Access 數(shù)據(jù)庫,單擊“完成”;(3)在對話框的“數(shù)據(jù)源名”中輸入數(shù)據(jù)源的名稱(例如:mydata),這個名字是由建立者自己命名。單擊 “高級”按鈕,設(shè)置登陸名稱(test)和密碼(password)。登陸名稱和密碼不是必需的;(4)單擊 數(shù)據(jù)庫“選擇”按鈕,選擇數(shù)據(jù)庫的路徑(如:d:\web\mydatabase.mdb)。
第二步:創(chuàng)建數(shù)據(jù)庫連接并打開數(shù)據(jù)庫
使用Server.CreateObject建立連接對象,并用“Open”打開待訪問的數(shù)據(jù)庫。代碼如下:
<%
Set Conn = Server.CreateObject (\"ADODB.Connection\") Conn.Open”數(shù)據(jù)源名”
%>
第三步:操作數(shù)據(jù)庫
操作數(shù)據(jù)庫對表中的記錄進(jìn)行添加、刪除、修改、查詢等操作。使用SQL命令,通過 “Execute”開始執(zhí)行,將操作結(jié)果存儲到Recordset對象Rs中。命令格式如下:
Set Rs=Myconn. Execute(SQL命令)
第四步:關(guān)閉數(shù)據(jù)對象和連接
使用Connection對象的Close方法終止Connection對象和數(shù)據(jù)之間的連接,關(guān)閉數(shù)據(jù)庫。
Rs.Close
Conn.Close
4 結(jié)束語
ASP是動態(tài)網(wǎng)頁制作語言,由于其安裝配置方便,簡單易學(xué),開發(fā)工具功能強大等的優(yōu)越性,應(yīng)用廣泛。使用ODBC技術(shù)訪問數(shù)據(jù)庫的優(yōu)點是程序員在開發(fā)系統(tǒng)時不必考慮后臺數(shù)據(jù)庫的類型,只要以標(biāo)準(zhǔn)SQL語句編寫數(shù)據(jù)庫查詢語句訪問ODBC數(shù)據(jù)庫接口即可,由ODBC負(fù)責(zé)對各種數(shù)據(jù)庫的支持。因此,掌握好在ASP中如何使用ODBC技術(shù)實現(xiàn)數(shù)據(jù)庫連接,對開發(fā)動態(tài)網(wǎng)站具有實際的指導(dǎo)作用。
參考文獻(xiàn):
[1]唐青松,顏亮.ASP應(yīng)用開發(fā)全攻略寶典[M].中國水刑水電出版社,2000.
[2]王亞平.數(shù)據(jù)庫工程師教程[M].清華大學(xué)出版社,2004.
[3]賀桂英,邱炳城,徐孝凱.數(shù)據(jù)庫應(yīng)用課程設(shè)計指導(dǎo)書[M].中央廣播電視大學(xué)出版社,2005.
作者簡介:仇學(xué)敏(1981-),女,貴州畢節(jié)人,副教授,研究方向:計算機科學(xué)與技術(shù)。