ASP 连接 MySQL 数据库两种方法

一般都是用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>
<td><%=rs("News_id")%></td>
<td><%=rs("News_Title")%></td>
</tr>
<%
rs.movenext
loop
%>
</table>
<%
else
response.write("无数据.")
end if
rs.close
adodataconn.close
set adodataconn = nothing
set rsemaildata = nothing
%>

示例3:

<%

Dim Conn, sConnString, myChareSet,strquery
myChareSet = "gb2312"
sConnString="driver={mysql odbc 3.51 driver};database=portaldata;server=localhost;uid=root;password=123456"
Set Conn=Server.CreateObject("adodb.Connection")
Conn.open sConnString
conn.execute("set names ‘" & myChareSet & "‘")
‘不加上面语句汉字部分可能会出现???乱码
%>

<%
strquery = "select * from Article" 

Set rs = Server.CreateObject("Adodb.RecordSet")
rs.open strquery, Conn, 1, 1
‘set rs = Conn.execute(strquery)
if not rs.bof then
%>
<table>
<%
 do while not rs.eof
%>

<tr>
 <td>编号</td>
    <td>标题</td>

</tr>
<tr>
 <td><%=rs("AID")%></td>
    <td><%=rs("Atitle")%></td>
</tr>
<%
 rs.movenext
 Loop
%>
</table>
<%
else
 Response.Write("无数据!")
End if
rs.close
Set rs=Nothing
Conn.Close
Set Conn=Nothing
%>

注意:若使用上面代码出现如下错误

错误类型:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E21) ODBC 驱动程序不支持所需的属性。

则可能是MySql中不支持select top 10 *……,不支持top 10的语法

ASP 连接 MySQL 数据库两种方法

时间: 2024-12-28 06:21:52

ASP 连接 MySQL 数据库两种方法的相关文章

Java连接MySQL数据库三种方法

好久没有更新博客了!今天利用周目时学习了一下数据库mysql.介绍一下数据库的三种连接方式! 开发工具:Myeclipse MySQL5.6 MySQL连接驱动:mysql-connector-java-5.1.27.jar 加载驱动: 1. 在工程目录中创建lib文件夹,将下载好的JDBC放到该文件夹下,如下图所示: 2. 右键工程名,在java build path中的Libraries分页中选择Add JARs...,选择刚才添加的JDBC,如下图: 也可以在项目"右击",选择&

mysql 执行 cannot found mac安装mysql的两种方法(含配置)

mac安装mysql的两种方法(含配置 此时我们在命令行输入mysql -uroot -p命令会提示没有commod not found,我们还需要将mysql加入系统环境变量. (1).进入/usr/local/mysql/bin,查看此目录下是否有mysql,见pic6. (2).执行vim ~/.bash_profile 在该文件中添加mysql/bin的目录,见pic7: PATH=$PATH:/usr/local/mysql/bin 添加完成后,按esc,然后输入wq保存. 最后在命令

Android开发JDBC连接mysql数据库导入驱动方法

在使用JDBC编程时需要连接数据库,导入JAR包是必须的,导入其它的jar包方法同样如此,导入的方法是 打开eclipse 1.右击要导入jar包的项目,点properties 2.左边选择java build path,右边选择libraries 3.选择add External jars 4.选择jar包的按照路径下的确定后就行了. Java连接MySQL的最新驱动包下载地址 http://www.mysql.com/downloads/connector/j 安卓源码有两种方法导入jar包

[MongoDB学习笔记-02] Node.js连接MongoDB的两种方法

MongoDB Node.js驱动程序是被官方所支持的原生Node.js驱动程序,他是至今为止最好的实现, 并且得到了MongoDB官方的支持.MongoDB团队已经采用MongoDB Node.js驱动程序作为标准方法. npm install mongodb@1.4.3 // MongoDB Node.js驱动程序 npm install mongoose@3.8.8 //mongoose模块 要从Node.js连接MongoDB数据库我们有两种方法可选择: 通过实例化mongodb模块中提

12c连接pdb的两种方法

连接可插拔数据库的两种方法 <roidb01:cdb:/home/oracle>$sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on Sat Jan 20 17:59:56 2018 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.1

Linux安装MySQL的两种方法

转载:http://blog.csdn.net/superchanon/article/details/8546254/ 1.       运行平台:CentOS 6.3 x86_64,基本等同于RHEL 6.3 2.       安装方法: 安装MySQL主要有两种方法:一种是通过源码自行编译安装,这种适合高级用户定制MySQL的特性,这里不做说明:另一种是通过编译过的二进制文件进行安装.二进制文件安装的方法又分为两种:一种是不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz

服务器重启后 django无法连接mysql数据库的解决方法

问题描述: 远程linux服务器,centOS7系统 采用uwsgi+django+pymysql的方式连接mysql数据库. 在服务器重启之后, 启用uwsgi之后(直接运行django运行命令也是一样python manage.py runserver), 无法连接到数据库. 报错: cryptography is required for sha256_password or caching_sha2_password 解决方法: 1. 手动连接数据库一次 mysql -u root -p

链接mysql的两种方法

使用mysql二进制方式连接 您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库. 实例 以下是从命令行中连接mysql服务器的简单实例: [[email protected]]# mysql -u root -p Enter password:****** 在登录成功后会出现 mysql> 命令提示窗口,你可以在上面执行任何 SQL 语句. 以上命令执行后,登录成功输出结果如下: Welcome to the MySQL monitor. Commands end

C#:将图片文件上传到数据库两种方法。

方法1: 将图片复制到指定文件夹,在数据库中存储图片路径,通过读取路径来显示图片. string str; private void toolStripButton1_Click(object sender, EventArgs e) { if (openFileDialog1.ShowDialog() == DialogResult.OK) { str = openFileDialog1.FileName; pictureBox1.Image = Image.FromFile(str); }