在ASP中實現(xiàn)頁面與數(shù)據(jù)庫連接的幾種實用方法
摘要:該文討論在ASP中頁面與數(shù)據(jù)庫連接的幾種實用方法, 后給出一個利用該文提供的函數(shù)存取SQL Server數(shù)據(jù)庫的例子,對開發(fā)網(wǎng)絡(luò)自動化系統(tǒng)有重要的實際意義。關(guān)鍵詞:ASP 數(shù)據(jù)庫 連接
在Internet網(wǎng)上隨處可見留言板、討論組、網(wǎng)上投票、網(wǎng)上調(diào)查、聊天室等Internet功能模塊,在許多單位的小型局域網(wǎng)中也運行著各種各樣的辦公自動化網(wǎng)絡(luò)系統(tǒng),這些程序都是利用ASP(Active Server Page)與數(shù)據(jù)庫技術(shù)結(jié)合而實現(xiàn)的。頁面與數(shù)據(jù)庫源建立連接是訪問數(shù)據(jù)庫的一步,也是 為重要的一步。
在ASP腳本中可以通過三種實用的方法連接數(shù)據(jù)庫:通過ODBC DSN建立連接,通過oledb建立連接和通過driver建立連接。
一、通過ODBC DSN建立連接
運用ODBC數(shù)據(jù)源,首先必須在控制面板的ODBC中設(shè)置數(shù)據(jù)源,然后再編寫腳本和數(shù)據(jù)庫源建立連接。
1、創(chuàng)建 ODBC DSN
通過在 Windows 的"開始"菜單打開"控制面板",您可以創(chuàng)建基于 DSN 的文件。雙擊"ODBC"圖標(biāo),然后選擇"系統(tǒng) DSN"屬性頁,單擊"添加",選擇數(shù)據(jù)庫驅(qū)動程序,然后單擊"下一步"。按照后面的指示配置適用于您的數(shù)據(jù)庫軟件的 DSN。常用的數(shù)據(jù)庫軟件有Microsoft Access和SQL Server等,這里以SQL Server 數(shù)據(jù)庫為例。
配置 SQL Server 數(shù)據(jù)庫系統(tǒng) DSN:注意如果數(shù)據(jù)庫駐留在遠(yuǎn)程服務(wù)器上,請與服務(wù)器管理員聯(lián)系,獲取附加的配置信息;下面的過程使用 SQL Server 的 ODBC 默認(rèn)的設(shè)置,它可能不適用于您的硬件配置。在"創(chuàng)建新數(shù)據(jù)源"對話框中,從列表框中選擇"SQL Server",然后單擊"下一步"。鍵入 DSN 文件的名稱,然后單擊"下一步"。單擊"完成"創(chuàng)建數(shù)據(jù)源。鍵入運行 SQL 服務(wù)程序的服務(wù)器的名稱、登錄 ID 和密碼。在"創(chuàng)建 SQL Server 的新數(shù)據(jù)源"對話框中,在"服務(wù)器"列表框中鍵入含 SQL Server 數(shù)據(jù)庫的服務(wù)器的名稱,然后單擊"下一步"。選擇驗證登錄 ID 的方式。如果要選擇 SQL 服務(wù)器驗證,請輸入一個登錄 ID 和密碼,然后單擊"下一步"。在"創(chuàng)建 SQL Server 的新數(shù)據(jù)源"對話框中,設(shè)置默認(rèn)數(shù)據(jù)庫、存儲過程設(shè)置的驅(qū)動程序和 ANSI 標(biāo)識,然后單擊"下一步"。(要獲取詳細(xì)信息,請單擊"幫助"。)在對話框(同樣名為"創(chuàng)建 SQL Server 的新數(shù)據(jù)源")中,選擇一種字符轉(zhuǎn)換方法,然后單擊"下一步"。(詳細(xì)信息,請單擊"幫助"。)在下一個對話框(同樣名為"創(chuàng)建 SQL Server 的新數(shù)據(jù)源")中,選擇登錄設(shè)置。 注意典型情況下, 您只能使用日志來調(diào)試數(shù)據(jù)庫訪問問題。 在"ODBC Microsoft SQL Server 安裝程序"對話框中,單擊"測試數(shù)據(jù)源"。如果 DSN 正確創(chuàng)建,"測試結(jié)果"對話框?qū)⒅赋鰷y試成功完成。
2、編寫腳本和數(shù)據(jù)庫源建立連接
ADO(ActiveX Data Objects ) 提供 Connection 對象,可以使用該對象建立和管理應(yīng)用程序和 ODBC 數(shù)據(jù)庫之間的連接。Connection 對象具有各種屬性和方法,可以使用它們打開和關(guān)閉數(shù)據(jù)庫連接。編寫數(shù)據(jù)庫連接腳本,首先應(yīng)創(chuàng)建 Connection 對象的實例,接著打開數(shù)據(jù)庫連接:
<%
set conn=server.createobject("adodb.connection")
conn.open "DSN=ODBC名稱;Database=數(shù)據(jù)庫名稱;UID=;PWD=;"
%>
二、通過oledb建立連接
運用oledb方法建立頁面與數(shù)據(jù)庫的連接, 不需要創(chuàng)建 ODBC DSN數(shù)據(jù)源,直接編寫如下的腳本和數(shù)據(jù)源建立連接,是一種簡單易用的方法。
<%
set conn=server.createobject("adodb.connection")
conn.open "Provider=SQLOLEDB;server=(SQL服務(wù)器名稱或IP地址);database=數(shù)據(jù)庫名稱;uid=;pwd="
%>
三、通過driver建立連接
通過driver建立頁面與數(shù)據(jù)庫的連接,同樣不需要創(chuàng)建ODBC DSN數(shù)據(jù)源,但必須知道實際的數(shù)據(jù)庫文件路徑或者數(shù)據(jù)源名(例如,SQLserver的數(shù)據(jù)庫)。
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={sql server};server=(SQL服務(wù)器名稱或IP地址);database=數(shù)據(jù)庫名稱;uid=;pwd="%>
四、實例(登陸系統(tǒng))
無論是進(jìn)入論壇發(fā)表自己觀點,還是進(jìn)入自動化管理系統(tǒng),都需要用戶填寫登錄信息,系統(tǒng)在自身的數(shù)據(jù)庫中檢查是否有此用戶的注冊信息,如果檢測到,用戶即可順利登錄。而這一登錄檢查過程的實現(xiàn),就需要后臺數(shù)據(jù)庫與前臺頁面的連接。
代碼實現(xiàn):連接腳本程序可單獨寫為一頁命名為conn.asp ,需要時引用即可。也可直接寫在登錄檢查頁面中。
conn.asp源代碼:
<%
set conn=server.createobject("adodb.connection")
conn.open "dsn=test;database=test;uid=czx;pwd=czx123;"
%>
login_check.asp ( 登錄檢查頁 )
<!--#include file="conn.asp" -->
<%
Dim name,pwd
name=trim (Request("name"))
pwd=trim (Request("pwd"))
if Request("B1")="登錄" then
set rs=server.createobject("adodb.recordset")
sql="select * from member where loginname='"&name&"' "
rs.open sql,conn,1,1
if rs.eof and rs.bof then
Response.Write "您無權(quán)進(jìn)入,請先注冊新用戶。"
else
if rs("password")=pwd then
session("memid")=rs("id")
rs.close
set rs=nothing
Response.Redirect "index.asp"
end if
end if
end if
conn.close
set conn=nothing
%>
五、結(jié)束語
本文介紹了幾種實用的連接數(shù)據(jù)庫的方法,利用它可以輕松實現(xiàn)頁面與SQL數(shù)據(jù)庫的連接。頁面與數(shù)據(jù)庫的連接是自動化系統(tǒng)的基礎(chǔ),其實用有效性非常重要,本文中所述方法是作者大量實踐經(jīng)驗之總結(jié),其實用有效性已經(jīng)過實際檢驗。
參考文獻(xiàn):
[1] 《即時響應(yīng)ASP腳本》 Greg Buczek 著,人民郵電出版社
[2] DataBase and the World Wide Web Marianne Winslett, University of Illinois
湖南省陽光電子技術(shù)學(xué)校常年開設(shè):手機維修培訓(xùn)、家電維修培訓(xùn)、電工培訓(xùn)、電腦維修培訓(xùn)、焊工培訓(xùn)--面向全國火爆招生!網(wǎng)址:http://www.hnygpx.com 報名電話:13807313137)。安置就業(yè)�?荚嚭细耦C發(fā)全國通用權(quán)威證書。采用我校多年來獨創(chuàng)的“模塊教學(xué)法”,理論與實踐相結(jié)合、原理+圖紙+機器三位一體的教學(xué)模式,半天理論,半天實踐,通俗易懂,確保無任何基礎(chǔ)者也能全面掌握維修技能、成為同行業(yè)中的佼佼者。工作(一期不會,免費學(xué)會為止)。
在Internet網(wǎng)上隨處可見留言板、討論組、網(wǎng)上投票、網(wǎng)上調(diào)查、聊天室等Internet功能模塊,在許多單位的小型局域網(wǎng)中也運行著各種各樣的辦公自動化網(wǎng)絡(luò)系統(tǒng),這些程序都是利用ASP(Active Server Page)與數(shù)據(jù)庫技術(shù)結(jié)合而實現(xiàn)的。頁面與數(shù)據(jù)庫源建立連接是訪問數(shù)據(jù)庫的一步,也是 為重要的一步。
在ASP腳本中可以通過三種實用的方法連接數(shù)據(jù)庫:通過ODBC DSN建立連接,通過oledb建立連接和通過driver建立連接。
一、通過ODBC DSN建立連接
運用ODBC數(shù)據(jù)源,首先必須在控制面板的ODBC中設(shè)置數(shù)據(jù)源,然后再編寫腳本和數(shù)據(jù)庫源建立連接。
1、創(chuàng)建 ODBC DSN
通過在 Windows 的"開始"菜單打開"控制面板",您可以創(chuàng)建基于 DSN 的文件。雙擊"ODBC"圖標(biāo),然后選擇"系統(tǒng) DSN"屬性頁,單擊"添加",選擇數(shù)據(jù)庫驅(qū)動程序,然后單擊"下一步"。按照后面的指示配置適用于您的數(shù)據(jù)庫軟件的 DSN。常用的數(shù)據(jù)庫軟件有Microsoft Access和SQL Server等,這里以SQL Server 數(shù)據(jù)庫為例。
配置 SQL Server 數(shù)據(jù)庫系統(tǒng) DSN:注意如果數(shù)據(jù)庫駐留在遠(yuǎn)程服務(wù)器上,請與服務(wù)器管理員聯(lián)系,獲取附加的配置信息;下面的過程使用 SQL Server 的 ODBC 默認(rèn)的設(shè)置,它可能不適用于您的硬件配置。在"創(chuàng)建新數(shù)據(jù)源"對話框中,從列表框中選擇"SQL Server",然后單擊"下一步"。鍵入 DSN 文件的名稱,然后單擊"下一步"。單擊"完成"創(chuàng)建數(shù)據(jù)源。鍵入運行 SQL 服務(wù)程序的服務(wù)器的名稱、登錄 ID 和密碼。在"創(chuàng)建 SQL Server 的新數(shù)據(jù)源"對話框中,在"服務(wù)器"列表框中鍵入含 SQL Server 數(shù)據(jù)庫的服務(wù)器的名稱,然后單擊"下一步"。選擇驗證登錄 ID 的方式。如果要選擇 SQL 服務(wù)器驗證,請輸入一個登錄 ID 和密碼,然后單擊"下一步"。在"創(chuàng)建 SQL Server 的新數(shù)據(jù)源"對話框中,設(shè)置默認(rèn)數(shù)據(jù)庫、存儲過程設(shè)置的驅(qū)動程序和 ANSI 標(biāo)識,然后單擊"下一步"。(要獲取詳細(xì)信息,請單擊"幫助"。)在對話框(同樣名為"創(chuàng)建 SQL Server 的新數(shù)據(jù)源")中,選擇一種字符轉(zhuǎn)換方法,然后單擊"下一步"。(詳細(xì)信息,請單擊"幫助"。)在下一個對話框(同樣名為"創(chuàng)建 SQL Server 的新數(shù)據(jù)源")中,選擇登錄設(shè)置。 注意典型情況下, 您只能使用日志來調(diào)試數(shù)據(jù)庫訪問問題。 在"ODBC Microsoft SQL Server 安裝程序"對話框中,單擊"測試數(shù)據(jù)源"。如果 DSN 正確創(chuàng)建,"測試結(jié)果"對話框?qū)⒅赋鰷y試成功完成。
2、編寫腳本和數(shù)據(jù)庫源建立連接
ADO(ActiveX Data Objects ) 提供 Connection 對象,可以使用該對象建立和管理應(yīng)用程序和 ODBC 數(shù)據(jù)庫之間的連接。Connection 對象具有各種屬性和方法,可以使用它們打開和關(guān)閉數(shù)據(jù)庫連接。編寫數(shù)據(jù)庫連接腳本,首先應(yīng)創(chuàng)建 Connection 對象的實例,接著打開數(shù)據(jù)庫連接:
<%
set conn=server.createobject("adodb.connection")
conn.open "DSN=ODBC名稱;Database=數(shù)據(jù)庫名稱;UID=;PWD=;"
%>
二、通過oledb建立連接
運用oledb方法建立頁面與數(shù)據(jù)庫的連接, 不需要創(chuàng)建 ODBC DSN數(shù)據(jù)源,直接編寫如下的腳本和數(shù)據(jù)源建立連接,是一種簡單易用的方法。
<%
set conn=server.createobject("adodb.connection")
conn.open "Provider=SQLOLEDB;server=(SQL服務(wù)器名稱或IP地址);database=數(shù)據(jù)庫名稱;uid=;pwd="
%>
三、通過driver建立連接
通過driver建立頁面與數(shù)據(jù)庫的連接,同樣不需要創(chuàng)建ODBC DSN數(shù)據(jù)源,但必須知道實際的數(shù)據(jù)庫文件路徑或者數(shù)據(jù)源名(例如,SQLserver的數(shù)據(jù)庫)。
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={sql server};server=(SQL服務(wù)器名稱或IP地址);database=數(shù)據(jù)庫名稱;uid=;pwd="%>
四、實例(登陸系統(tǒng))
無論是進(jìn)入論壇發(fā)表自己觀點,還是進(jìn)入自動化管理系統(tǒng),都需要用戶填寫登錄信息,系統(tǒng)在自身的數(shù)據(jù)庫中檢查是否有此用戶的注冊信息,如果檢測到,用戶即可順利登錄。而這一登錄檢查過程的實現(xiàn),就需要后臺數(shù)據(jù)庫與前臺頁面的連接。
代碼實現(xiàn):連接腳本程序可單獨寫為一頁命名為conn.asp ,需要時引用即可。也可直接寫在登錄檢查頁面中。
conn.asp源代碼:
<%
set conn=server.createobject("adodb.connection")
conn.open "dsn=test;database=test;uid=czx;pwd=czx123;"
%>
login_check.asp ( 登錄檢查頁 )
<!--#include file="conn.asp" -->
<%
Dim name,pwd
name=trim (Request("name"))
pwd=trim (Request("pwd"))
if Request("B1")="登錄" then
set rs=server.createobject("adodb.recordset")
sql="select * from member where loginname='"&name&"' "
rs.open sql,conn,1,1
if rs.eof and rs.bof then
Response.Write "您無權(quán)進(jìn)入,請先注冊新用戶。"
else
if rs("password")=pwd then
session("memid")=rs("id")
rs.close
set rs=nothing
Response.Redirect "index.asp"
end if
end if
end if
conn.close
set conn=nothing
%>
五、結(jié)束語
本文介紹了幾種實用的連接數(shù)據(jù)庫的方法,利用它可以輕松實現(xiàn)頁面與SQL數(shù)據(jù)庫的連接。頁面與數(shù)據(jù)庫的連接是自動化系統(tǒng)的基礎(chǔ),其實用有效性非常重要,本文中所述方法是作者大量實踐經(jīng)驗之總結(jié),其實用有效性已經(jīng)過實際檢驗。
參考文獻(xiàn):
[1] 《即時響應(yīng)ASP腳本》 Greg Buczek 著,人民郵電出版社
[2] DataBase and the World Wide Web Marianne Winslett, University of Illinois
湖南省陽光電子技術(shù)學(xué)校常年開設(shè):手機維修培訓(xùn)、家電維修培訓(xùn)、電工培訓(xùn)、電腦維修培訓(xùn)、焊工培訓(xùn)--面向全國火爆招生!網(wǎng)址:http://www.hnygpx.com 報名電話:13807313137)。安置就業(yè)�?荚嚭细耦C發(fā)全國通用權(quán)威證書。采用我校多年來獨創(chuàng)的“模塊教學(xué)法”,理論與實踐相結(jié)合、原理+圖紙+機器三位一體的教學(xué)模式,半天理論,半天實踐,通俗易懂,確保無任何基礎(chǔ)者也能全面掌握維修技能、成為同行業(yè)中的佼佼者。工作(一期不會,免費學(xué)會為止)。