您现在的位置:龙卷风首页 ›› 网络编程 ›› 阅读文章

ASP使用MySQL数据库全攻略

asp使用mysql数据库?虽然很少人这样用,但也是可行的!

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"

  我奇怪的发现,这种方法连用户名和密码都不需要就可以使用。是不是MYSQL的一个BUG呢?

  以上代码全部经测试通过!

来源:http://dotnet.csdn.net/page/bb4da341-2480-4237-b944-7cfa14e44166

本站补充:

上面这篇文章不知写自何年月,作者所用的操作系统明显有些过时了,今天测试了一下,发现有一些代码明显也不是那么合时宜啦。不过沿着作者的思路,asp确实是可以使用mysql数据库的,只是有些麻烦,尤其是虚拟主机的用户,要央求提供商帮你安装mysql connector组件,并且支持asp的虚拟主机,不一定会提供mysql数据服务器。

关于mysql server驱动程序。mysql server开发商自已提供了各个平台,适合于各种后台语言的connector,包括最新的.net connector 以及php,jsp等,自然也少不了odbc,有了odbc,自然也可以给asp使用了。

下载:mysql网站[www.mysql.com]上的download里面有driver集合,在其中即可以找到相应的driver,在这里我们需要的是odbc driver,有两个版本可以,一个是3.51,一个是5.0,下载的时候选择msi安装包,这样不需要自己手动去更改注册表。通过轻易地点击安装步骤,就可以调用了。

调用方法:

1,建立dsn的方法,建完dsn,通过下面连接语句可以调用:

StrCon = "dsn=localmysql;uid=root;pwd=123456;database=discuz;"

2,不建立dsn当然也可以,连接语句如下:

StrCon = "server=localhost;driver={mysql odbc 3.51 driver};uid=root;pwd=123456;database=discuz;"

实践证明,driver={}中,大括号里面的字符串只要跟你在odbc数据源中看到的驱动名称相同即可,如果你是安装3.51版的,则如上面所示,如果你是安装5.0版的,大概就是{mysql connection/odbc v5}了。大小写不敏感,随便写吧。

作者 不见不散 本文仅代表作者观点,与龙卷风资讯网立场无关。

我来说两句

内容/Content