以下的文章主要講述的是ASP在使用MySQL數據庫的全攻略,ASP在使用MySQL數據庫在實際中的應用比例還是占為多數的,如果你對這一技術,心存好奇的話,以下的文章將會揭開它的神秘面紗。
MySQL(和PHP搭配之最佳組合)數據庫以它短小、方便、速度快、免費等優點成為很多網站目前首選MySQL數據庫,但一般都是用PHP+MySQL(和PHP搭配之最佳組合)相結合來開發各種動態頁面,其實ASP也可以使用MySQL(和PHP搭配之最佳組合)數據庫開發動態頁面,小弟我也是剛剛學會,不敢獨享,所以特寫了這篇文章供大伙參考。
我的環境是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的驅動程序,可以到www.MySQL(和PHP搭配之最佳組合).com下載)
第一步:安裝MySQL(和PHP搭配之最佳組合) ODBD的驅動程序
將下載的myodbd-2.50.46-dll文件復制到windowssystem目錄下(windows2000
是winnt/system32)然後建立一新文件,擴展名為reg就是注冊表文件),將以下內容復制到該文件中。
- 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主鍵的值要做相應改變,這裡我想就不用多說了。如果成功,在控制面板/ODBD數據源的驅動程序裡將看到myodbd driver這一項!
第二步:建立ASP文件鏈接數據庫
這裡有兩種方法,一種是在ODBC數據源中建立一個系統DSN。後來我發現不建立也可以在ASP中使用MySQL(和PHP搭配之最佳組合),方法在下文將講道。
打開控制面板/ODBD數據源,選擇系統DSN,然後添加一個新的DSN,驅動程序選擇myodbd driver,會出現一個對話框供輸入MySQL(和PHP搭配之最佳組合) 相關信息。
Windows DSN name: 所要建立DSN的名稱
MySQL(和PHP搭配之最佳組合) Host (name or ip):MySQL(和PHP搭配之最佳組合)服務器的名稱或者是IP地址,通常填localhost
MySQL(和PHP搭配之最佳組合) database name:需要使用MySQL數據庫的名稱,數據庫在MySQL(和PHP搭配之最佳組合)管理程序中建立。這裡我們使用一個例子。數據庫名:hc188
裡面有數據表:user 數據表有兩個字段分別是:username和password,隨便插入幾個數據。
user:鏈接數據庫的用戶名,我填的是root超級用戶
password:鏈接數據庫用戶密碼,如果沒有,可以不填
Port(if not 3306):MySQL(和PHP搭配之最佳組合)在服務器的端口,如果不填默認為3306
SQL command on connect:使用sql命令鏈接MySQL數據庫,這項可以不填
填寫完畢後選擇OK保存。
下面鏈接數據庫的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
- %>
第二種方法:我在使用中想過如果不建立系統DSN,是否也可以使用MySQL數據庫呢?結果是可以的。
方法很簡單,把上面ASP代碼第二行代碼改為:
- strconnection="DefaultDir=;Driver={myodbc driver};database=hc188"
我奇怪的發現,這種方法連用戶名和密碼都不需要就可以使用。是不是MySQL(和PHP搭配之最佳組合)的一個BUG呢?
以上代碼全部經測試通過!