|
首先,在系统中安装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 ‘=’ |
【收藏】【打印】【进入论坛】 |
|
|
|
|
|
|
|