电脑软硬件应用网
当前位置: 电脑软硬件应用网 > 设计学院 > 网络编程 > 数据库 > 正文
ASP连接MySQL数据库的方法
ASP连接MySQL数据库的方法
2009-5-12 10:33:03  文/梦幻飞扬   出处:电脑软硬件应用网   
首先,在系统中安装Mysql 的ODBC数据库驱动。当前的稳定版本是3.51.下载地址是:http://dev.mysql.com/downloads/connector/odbc/3.51.html。下载安装好后。在控制面板-->管理工具-->数据源 (ODBC)中的驱动程序页中如果有MySQL ODBC 3.51 Driver就说明驱动已经安装成功,就可以开始写程序了。

下面是我测试时使用的程序,里面有说明就不再介绍了。
<%
'设置MySql连接属性
'各个变量说明:
' myHost:MySql数据库地址
' myDB:使用的MySql数据库名
' myUID:连接MySql数据库使用的帐号
' myPWD:连接MySql数据使用帐号的密码
' myChareSet:客户端使用的编码类型。根据实际情况使用。
' 一般情况下使用gb2312 utf8 gbk这三种编码。如果这三种都测试过仍然有乱码。
' 请检查你的设置。
'数据库设置开始
dim myHost,myDB,myUID,myPWD
myHost = "localhost"
myDB = "YingMu"
myUID = "YingMu"
myPWD = "03389.com"
myChareSet = "gb2312"
strconnection="driver={mysql odbc 3.51 driver};server=" & myHost & ";database=" & myDB & ";user name=" & myUID & ";password=" & myPWD
set conn = server.createobject("adodb.connection")
'连接数据库
conn.open strconnection
'设置客户端字符编码
conn.execute("set names '" & myChareSet & "'")
'数据库设置结束
%>
或:
set conn = server.createobject("adodb.connection")
Conn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=127.0.0.1;DATABASE=YingMu;USER=YingMu;PASSWORD=03389.com;"

上面是使用ADODB的连接方法,在默认3306端口是正常。
但在端口改成3333了,就出错。
SERVER=127.0.0.1:3333; 这样也不对,在PHP这样是可以用的
SERVER=127.0.0.1,3333; MSSQL是这样改端口,但在这是错的。
这样可能可以:
Conn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=127.0.0.1;PORT=3333;DATABASE=YingMu;USER=YingMu;PASSWORD=03389.com;"
-------------------------------------------------------------------------------------------------------------------------------------------------


一般情况下,使用asp的时候很少会用到mysql数据库,但有的时候就必须连接mysql,比如kaoyan.com因为论坛使用的是mysql的数据库,而其他一些频道是基于asp建立,所以涉及用户身份验证的时候,就经常需要用到asp来连接mysql。
1、asp连接mysql的基本方式
一般都是用myodbc来连接。首先需要安装MyODBC,可以到http://www.mysql.com/下载。
安装好MyODBC之后,可以直接在asp代码里面通过以下语句来连接mysql数据库:

strconnection=”driver={mysql odbc 3.51 driver};
database=dbname;server=localhost;uid=dbuser;password=dbpwd”
‘database:数据库名
’server:服务器名/ip
‘uid:用户名
‘password:密码
set con = server.createobject(”adodb.connection”)
con.open strconnection
另外还可以先在ODBC数据源里新建一个系统DSN,选择 MySQL ODBC 3.51 Driver作为数据源,填入相关的用户名和密码并测试之。相关的ASP连接代码如下:

strconnection=”dsn=dbdsn;driver={mysql odbc 3.51 driver};uid=dbuser;password=dbpwd”
‘dsn:新建的DSN名称
‘uid:用户名
‘password:密码
set con = server.createobject(”adodb.connection”)
con.open strconnection
2、需要注意的问题(mysql4.1及以上版本)

mysql4.1及以上版本对字符集的限定跟之前的版本有很大不同,在进行数据库查询的时候如果不对字符集加以设定,一旦有查询的字段有中文,便很可能出现下面这样的错误:

Microsoft OLE DB Provider for ODBC Drivers 错误 ‘80040e31′

[MySQL][ODBC 3.51 Driver][mysqld-4.1.18]Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation ‘=’

这个时候就需要对asp的查询语句进行一些修改,增加有关的字符集的设定:

“select email from members where username=_gbk ‘”&username&”‘ COLLATE gbk_chinese_ci“
---------------------------------------------------------------------------------------------------------------------------------------------
、到mysql网站:http://dev.mysql.com/downloads/下载MySQL ODBC 3.51 Driver安装
2、使用如下代码链接
Conn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=" & strIP & ";DATABASE=" & strDBName & ";USER=" &
strUserName & ";PASSWORD=" & strPass & ";OPTION=3;"
如果MyODBC版本不同,请自行修改Driver中的字符串


 <%
  strconnection="dsn=mysqltest;
  driver={mysql odbc 3.51 driver};
  server=填入服务器地址;uid=用户名;pwd=密码;database=mm"
  ‘连接字符串,dsn就是我们设置的数据源标识符
  注意driver我们刚才在设置系统DSN的时候提过。
 
  set conn = server.createobject("adodb.connection")
  conn.open strconnection
  sql = "select * from my" ‘SQL查询语句
  set rs = conn.execute(sql)
  if not rs.bof then

 %>
  • 上一篇文章:

  • 下一篇文章:
  • 最新热点 最新推荐 相关文章
    Mysql数据库名和表名在不同系统下的…
    mysql全文搜索:sql的写法
    解答SQL不许在视图定义ORDER BY子句…
    数据库海量数据查询与优化
    SQL分组实例使用GROUP BY做示例
    图解Slide Window来做SqlServer性能…
    解决附加SQL Server数据库后出现只读…
    一次SQL调优数据库性能问题后的过程
    使用sql语句分离和附加数据库的方法
    一起探讨如何改善数据库性能瓶颈问题
    关于45IT | About 45IT | 联系方式 | 版权声明 | 网站导航 |

    Copyright © 2003-2011 45IT. All Rights Reserved 浙ICP备09049068号