MySQL數據庫以它短小、方便、速度快、免費等優點成為很多網站目前首選數據庫,但一般都是用PHP+MySQL相結合來開發各種動態頁面,其實ASP也可以使用MySQL數據庫開發動態頁面,小弟我也是剛剛學會,不敢獨享,所以特寫了這篇文章供大伙參考。
我的環境是Windows98+PWS4.0+MySQL-3.23.32-win+PHP4
必要的軟件:PWS4.0(呵呵,廢話)
MySQL-3.23.32-win(這個是最新版的)
myodbc-2.50.36-dll(這個是最重要的,MySQL ODBC的驅動程序,可以到
www.MySQL.com下載)
第一步:安裝MySQL ODBD的驅動程序,將下載的myodbd-2.50.46-dll文件復制到windows\system目錄下(Windows2000
是winnt/system32)然後建立一新文件,擴展名為reg(就是注冊表文件),將以下內容復制到該文件中。
REGEDIT4
[HKEY_LOCAL_MacHINE\SOFTWARE\ODBC\ODBCINST.INI\myodbc 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_MacHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers]
"myodbc driver"="installed"
保存後雙擊該文件,將上面代碼注冊到Windows注冊表中。
如果安裝在Windows2000中,則Driver和Setup主鍵的值要做相應改變,這裡我想就不用多說了。如果成功,在控制面板/ODBD數據源的驅動程序裡將看到myodbd driver這一項!
第二步:建立ASP文件鏈接數據庫。
這裡有兩種方法,一種是在ODBC數據源中建立一個系統DSN。後來我發現不建立也可以在ASP中使用MySQL,方法在下文將講道。
打開控制面板/ODBD數據源,選擇系統DSN,然後添加一個新的DSN,驅動程序選擇myodbd driver,會出現一個對話框供輸入MySQL 相關信息。
Windows DSN name: 所要建立DSN的名稱
Mysql Host (name or ip):MySQL服務器的名稱或者是IP地址,通常填localhost
Mysql database name:需要使用數據庫的名稱,數據庫在MySQL管理程序中建立。這裡我們使用一個例子。數據庫名:hc188
裡面有數據表:user 數據表有兩個字段分別是:username和passWord,隨便插入幾個數據。
user:鏈接數據庫的用戶名,我填的是root超級用戶
passWord:鏈接數據庫用戶密碼,如果沒有,可以不填
Port(if not 3306):MySQL在服務器的端口,如果不填默認為3306
SQL command on connect:使用sql命令鏈接數據庫,這項可以不填
填寫完畢後選擇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"