ASP 连接 MySQL 数据库两种方法

ASP新手入门
一般都是用myodbc来连接。首先,在系统中安装 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 = "knowldge"
myUID = "root"
myPWD = "mysqladmin"
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=Shops;USER=root;PASSWORD=xxx;"
上面是使用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=Shops;USER=root;PASSWORD=xxx;"
方法二:

另外还可以先在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
需要注意的问题(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"
代码示例解释如下:如使用下面代码链接

示例1:

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 
%>
示例2:

<%
'测试读取MySql数据库的内容

strconnection="driver={mysql odbc 3.51 driver};database=weste_net;server=localhost;uid=root;password="
'无需配置dsn
set adodataconn = server.createobject("adodb.connection")
adodataconn.open strconnection

strquery = "select * from News"
set rs = adodataconn.execute(strquery)
if not rs.bof then
%>

<table>
<tr>
<td<b>序列号</b></td>
<td><b>标题</b></td>
</tr>
<%
do while not rs.eof
%>
<tr>

相关内容推荐

查看ASP文档的来源

查看来自网页浏览器只允许输出html文本的ASP文档的来源。任何的写入的文本在% %之间都不会输出到浏览器,除非是一个被插入的写入命令。这是对于安全很有用的,但是对于制作需要看

请求表单

在asp文档之间传数据是能以很多种方式完成的。询问表单是指解析值从form action method="post" 传递的方法。不像method="get" url不包含变量名称或者他们的值。这不但能阻止用户在地址栏输入

404错误的页面(CDONTS)

基本的404错误或者没有找到页面的文件会有两种特殊的目的。首先,为了警示用户他们期待的当前没有利用的术语,而不是你的主页可能提供的通用页面或者更糟糕的是没有找到页面的

ASP语法

HTML 是如何使用标签来创建网页, ASP 需要标签来创建动态 Web 站点。这些标签并不像在 HTML 中使用的典型标签,所以一定要注意使用 ASP 标记和标签使用的 HTML 之间的区别。 ASP 标签 这

常用字符串转换数字函数

Ccur(str)'转换为货币类型的 cdbl(str)'转换为浮点型的 以上保留小数点数 CInt 函数 描述 返回表达式,此表达式已被转换为 Integer 子类型的 Variant。 语法 CInt(expression) expression 参数是任

返回
顶部