ASP在使用MySQL數(shù)據(jù)庫的經(jīng)驗歸納
以下的文章主要講述的是ASP在使用MySQL數(shù)據(jù)庫的全攻略,ASP在使用MySQL數(shù)據(jù)庫在實際中的應(yīng)用比例還是占為多數(shù)的,如果你對這一技術(shù),心存好奇的話,以下的文章將會揭開它的神秘面紗。
MySQL(和PHP搭配之***組合)數(shù)據(jù)庫以它短小、方便、速度快、免費等優(yōu)點成為很多網(wǎng)站目前***MySQL數(shù)據(jù)庫,但一般都是用PHP+MySQL(和PHP搭配之***組合)相結(jié)合來開發(fā)各種動態(tài)頁面,其實ASP也可以使用MySQL(和PHP搭配之***組合)數(shù)據(jù)庫開發(fā)動態(tài)頁面,小弟我也是剛剛學(xué)會,不敢獨享,所以特寫了這篇文章供大伙參考。
我的環(huán)境是WINDOWS98+PWS4.0+MySQL(和PHP搭配之***組合)-3.23.32-win+PHP4
必要的軟件:PWS4.0(呵呵,廢話)
MySQL(和PHP搭配之***組合)-3.23.32-win(這個是***版的)
myodbc-2.50.36-dll(這個是最重要的,MySQL(和PHP搭配之***組合) ODBC的驅(qū)動程序,可以到www.MySQL(和PHP搭配之***組合).com下載)
***步:安裝MySQL(和PHP搭配之***組合) ODBD的驅(qū)動程序
將下載的myodbd-2.50.46-dll文件復(fù)制到windowssystem目錄下(windows2000
是winnt/system32)然后建立一新文件,擴(kuò)展名為reg(就是注冊表文件),將以下內(nèi)容復(fù)制到該文件中。
- REGEDIT4
- [HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INImyodbc driver]
- "UsageCount"=dword:00000002
- "Driver"="C:\WINDOWS\System\myodbc.dll"
- "Setup"="C:\WINDOWS\System\myodbc.dll"
- "SQLLevel"="1"
- "FileUsage"="0"
- "DriverODBCVer"="02.50"
- "ConnectFunctions"="YYY"
- "APILevel"="1"
- "CpTimeout"="120"
- [HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INIODBC Drivers]
- "myodbc driver"="installed"
保存后雙擊該文件,將上面代碼注冊到WINDOWS注冊表中。
如果安裝在windows2000中,則Driver和Setup主鍵的值要做相應(yīng)改變,這里我想就不用多說了。如果成功,在控制面板/ODBD數(shù)據(jù)源的驅(qū)動程序里將看到myodbd driver這一項!
第二步:建立ASP文件鏈接數(shù)據(jù)庫
這里有兩種方法,一種是在ODBC數(shù)據(jù)源中建立一個系統(tǒng)DSN。后來我發(fā)現(xiàn)不建立也可以在ASP中使用MySQL(和PHP搭配之***組合),方法在下文將講道。
打開控制面板/ODBD數(shù)據(jù)源,選擇系統(tǒng)DSN,然后添加一個新的DSN,驅(qū)動程序選擇myodbd driver,會出現(xiàn)一個對話框供輸入MySQL(和PHP搭配之***組合) 相關(guān)信息。
Windows DSN name: 所要建立DSN的名稱
MySQL(和PHP搭配之***組合) Host (name or ip):MySQL(和PHP搭配之***組合)服務(wù)器的名稱或者是IP地址,通常填localhost
MySQL(和PHP搭配之***組合) database name:需要使用MySQL數(shù)據(jù)庫的名稱,數(shù)據(jù)庫在MySQL(和PHP搭配之***組合)管理程序中建立。這里我們使用一個例子。數(shù)據(jù)庫名:hc188
里面有數(shù)據(jù)表:user 數(shù)據(jù)表有兩個字段分別是:username和password,隨便插入幾個數(shù)據(jù)。
user:鏈接數(shù)據(jù)庫的用戶名,我填的是root超級用戶
password:鏈接數(shù)據(jù)庫用戶密碼,如果沒有,可以不填
Port(if not 3306):MySQL(和PHP搭配之***組合)在服務(wù)器的端口,如果不填默認(rèn)為3306
SQL command on connect:使用sql命令鏈接MySQL數(shù)據(jù)庫,這項可以不填
填寫完畢后選擇OK保存。
下面鏈接數(shù)據(jù)庫的ASP代碼!
- <%
- strConnection = "dsn=hc188;driver={myodbd driver};server=localhost;uid=root;pwd=;database=hc188"
- Set adoDataConn = Server.CreateObject("ADODB.Connection")
- adoDataConn.Open strConnection
- strQuery = "SELECT * FROM user"
- Set rs = adoDataConn.Execute(strQuery)
- If Not rs.BOF Then
- %>
- <TABLE>
- <TR>
- <TD<b>username</b></TD>
- <TD><b>password</b></TD>
- </TR>
- <%
- Do While Not rs.EOF
- %>
- <TR>
- <TD><%=rs("username")%></TD>
- <TD><%=rs("password")%></TD>
- </TR>
- <%
- rs.MoveNext
- Loop
- %>
- </TABLE>
- <%
- Else
- Response.Write("Sorry, no data found.")
- End If
- rs.Close
- adoDataConn.Close
- Set adoDataConn = Nothing
- Set rsEmailData = Nothing
- %>
第二種方法:我在使用中想過如果不建立系統(tǒng)DSN,是否也可以使用MySQL數(shù)據(jù)庫呢?結(jié)果是可以的。
方法很簡單,把上面ASP代碼第二行代碼改為:
- strconnection="DefaultDir=;Driver={myodbc driver};database=hc188"
我奇怪的發(fā)現(xiàn),這種方法連用戶名和密碼都不需要就可以使用。是不是MySQL(和PHP搭配之***組合)的一個BUG呢?
以上代碼全部經(jīng)測試通過!