注册 登录
编程论坛 ASP技术论坛

(急,搞了好久啦)谁会asp连接mysql数据库的????

forever759 发布于 2007-06-05 21:30, 2052 次点击
<%
strconnection="dsn=zqxszj; driver={mysql odbc 3.51driver};server=localhost;uid=root;pwd=;database=zqxszj" set conn = server.createobject("adodb.connection")
conn.open strconnection
%>

已经安装了mysql odbc 3.51,但调试还是出错.提示错误为:

错误类型:
Microsoft VBScript 编译器错误 (0x800A0409)
未结束的字符串常量
/conn.asp, line 2, column 26
strconnection="dsn=zqxszj;
-------------------------^

dsn=zqxszj这里没写错.

给为高手帮忙哟.

[此贴子已经被作者于2007-6-6 15:12:50编辑过]

25 回复
#2
YSKING2007-06-05 22:04
set conn = server.createobject("adodb.connection")
这一句你是连着第一句写的吗,如果是就另起一行试试
#3
forever7592007-06-05 22:08
<%
strconnection="dsn=zqxszj;
driver={mysql odbc 3.51 driver};server=localhost;uid=root;pwd=;database=zqxszj"
set conn = server.createobject("adodb.connection")
conn.open strconnection
%>

还是一样
#4
YSKING2007-06-05 22:14

<%
strconnection="dsn=zqxszj;driver={mysql odbc 3.51 driver};server=localhost;uid=root;pwd=;database=zqxszj"
set conn = server.createobject("adodb.connection")
conn.open strconnection
%>
你直接把它复制到你的代码里试试看
#5
forever7592007-06-05 22:25

同样........

#6
YSKING2007-06-05 22:32
要等高人来解决才行了,我解决不了
#7
forever7592007-06-05 22:37
以下是引用YSKING在2007-6-5 22:32:39的发言:
要等高人来解决才行了,我解决不了

好烦哟。...........PHP就可以连接,为什么ASP不可以,呼

#8
madpbpl2007-06-05 22:55
strconnection="DefaultDir=;Driver={myodbc driver};database=zqxszj;
Set adoDataConn = Server.CreateObject("ADODB.Connection")
adoDataConn.Open strConnection
网上找的,试试这个行不行,还有随便问一下,你的操作系统是什么?
#9
forever7592007-06-06 13:47
以下是引用madpbpl在2007-6-5 22:55:59的发言:
strconnection="DefaultDir=;Driver={myodbc driver};database=zqxszj;
Set adoDataConn = Server.CreateObject("ADODB.Connection")
adoDataConn.Open strConnection
网上找的,试试这个行不行,还有随便问一下,你的操作系统是什么?

我的是XP系统.PHP就能连接上,ASP就不行.
随便说,我的PHP是APACHE支持,ASP是IIS支持的。

已经装了MyODBC-3.51.11-1.

谁能解决ASP连接MYSQL的问题?帮帮忙.

#10
forever7592007-06-06 13:49
错误类型:
Microsoft VBScript 编译器错误 (0x800A0409)
未结束的字符串常量
/conn.asp, line 2, column 66
strconnection="DefaultDir=;Driver={myodbc driver};database=zqxszj;
-----------------------------------------------------------------^
#11
forever7592007-06-06 15:31
斑竹在吗?出来帮帮忙
#12
islet2007-06-06 15:36
很明显 你的问题不是出在连接数据库上

这种错误正常都是因为标点符号用错 或中文空格

你把你的这个文件打包传上来给大家看看就能解决了
#13
forever7592007-06-06 15:40
好的!
!!
#14
forever7592007-06-06 15:42
只有本站会员才能查看附件,请 登录

#15
lq73506842007-06-06 15:55
[QUOTE]<%
strconnection="dsn=zqxszj;driver={mysql odbc 3.51 driver};server=localhost;uid=root;pwd=850728;database=zqxszj"
set conn = server.createobject("adodb.connection")
conn.open strconnection
%>[/QUOTE]
#16
forever7592007-06-06 16:00
以下是引用lq7350684在2007-6-6 15:55:08的发言:
<%
strconnection="dsn=zqxszj;driver={mysql odbc 3.51 driver};server=localhost;uid=root;pwd=850728;database=zqxszj"
set conn = server.createobject("adodb.connection")
conn.open strconnection
%>

错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
/conn.asp, 第 4 行

我就复你的去,调试也是这样的错误.可以告诉我是什么原因吗?我装了ODBC,什么都装了.

#17
islet2007-06-06 16:32

应该是没有驱动程序

转一个 (虽然我没看内容 但也差不多)

如何在非web程序或asp程序中使用mysql数据库?两个解决方案:
1、使用mysql提供的api函数库

很多有名的mysql客户端工具就是这样实现的,大名鼎鼎的winmysql工具就是这样的。这在大部分的开发工具中都可以实现。比如vc,bcb,delphi,vb等,只要能调用第三方的api就能实现。但对程序员的要求很高,而且要熟悉一套mysql的api函数集,这不是对每个人都很轻松的事。而且这种方法不能用于asp等程序,因为它不支持com对象。


2、使用myodbc驱动程序

www.mysql.com下载myodbc驱动程序。

第一种选择是下载体积很大的完全安装包,虽然这样容易些,但对我们有用的只有myodbc.dll。

第二种是直接下载myodbc.dll文件,只有几百K,但不太容易使用,本人经过很久摸索才找到使用它的方法。首先将包解开,将myodbc.dll 文件放到windowssystem 或 winntsystem32目录下,这取决于你的系统是win9x还是winnt(win2k)。

然后打开纯文本编辑器,如editplus,notpad,将下面一段话保存为一文件,扩展名为.reg。

(如果你用的是win2k请将第一行换成:windows registry editor version 5.00)


windows registry editor version 4.00


[hkey_local_machinesoftwareodbcodbcinst.inimyodbc driver]

"usagecount"=dword:00000002

"driver"="c:\winnt\system32\myodbc.dll"

"setup"="c:\winnt\system32\myodbc.dll"

"sqllevel"="1"

"fileusage"="0"

"driverodbcver"="02.50"

"connectfunctions"="yyy"

"apilevel"="1"

"cptimeout"="120"

[hkey_local_machinesoftwareodbcodbcinst.iniodbc drivers]

"myodbc driver"="installed"

备注:WINDOWS-XP 系统可以直接采用以下两个驱动安装即可。

1.mysql-connector-odbc-3.51.12-win32_Setup_exe

2.mysql-connector-odbc-3.51.12-win32_Setup_msi

WINDOWS2000 系统则可以用 1.mysql-connector-odbc-3.51.12-win32_Setup_exe 来安装。

myodbc.dll 文件的下载地址:myodbc.dll


3、采用ODBC接口访问MySQL指南

MySQL的ODBC接口实现是通过安装MyODBC驱动,这个驱动程序是跨平台的。如果在Linux等unix体系操作系统下使用,需要先安装iodbc这些第三方ODBC标准支援平台。

简单的ASP示例代码:

<%

dim sql,mysql

set sql = server.createobject("adodb.connection")

mysql="driver={mysql odbc 3.51 driver};database=库;server=主机;uid=用户;password

=密码;" ’option = 设置

sql.open mysql

%>

上边这段代码是采用MyODBC开发版3.51连接的示例,使用开发版是因为一些新的特性和稳定性2.x正式版所不具备的。前几天看了篇微软安全专家所撰写的如何编写安全程序的教程。上边提到如果按照上边示例的方法一旦ASP文件的代码被骇客看到,那么数据库可能不保,然后引发一连串的问题,甚至被夺得管理权限。文章中顺便提到了解决方法,是通过编写com组件,然后由ASP调用组件的方法连接数据库。这么做的好处是提高了安全性,但是问题是有能力这么做的人毕竟是少数。那么我的折衷方案是定义数据源。将库、用户、密码以及设置这些连接信息统统在数据源中定义,从很大程度简单化了实现的难度,而且也起到增强安全性的作用。当然,为了保证数据源可以在实际运作环境中被访问到,一定要定义为“系统数据源”,开发时定义为“用户数据源”或者“系统数据源”我倒觉得无伤大雅。

使用数据源的ASP示例代码

<%

dim sql

set sql = server.createobject("adodb.connection")

sql.open "dns=MySQL数据源名称"

%>

#18
forever7592007-06-06 16:36
已经有驱动.没有的话,我可以配置ODBC的.

况且假如
<%
strconnection="dsn=zqxszj;driver={mysql odbc 3.51 driver};
server=localhost;
uid=root;
pwd=850728;
database=zqxszj"
set conn = server.createobject("adodb.connection")
conn.open strconnection
%>

这样摆的话,报错是:

错误类型:
Microsoft VBScript 编译器错误 (0x800A0409)
未结束的字符串常量
/conn.asp, line 2, column 26
strconnection="dsn=zqxszj;
-------------------------^

是不是奇怪???
#19
islet2007-06-06 16:48

没用asp连过mysql

反正 未发现数据源名称并且未指定默认驱动程序 这个错误不是驱动错了就是数据库名字错了

未结束的字符串常量 是变量赋值格式错误

#20
hangxj2007-06-06 16:49
学习中,还真没有试过用ASP+MYSQL
#21
forever7592007-06-06 16:55
以下是引用islet在2007-6-6 16:48:01的发言:

没用asp连过mysql

反正 未发现数据源名称并且未指定默认驱动程序 这个错误不是驱动错了就是数据库名字错了

未结束的字符串常量 是变量赋值格式错误

尝试过用PHP去连接就没有出错.应该不是数据库名.

驱动错的话,但应该怎么设置?我想也应该是设置的问题.

#22
forever7592007-06-06 16:55
以下是引用hangxj在2007-6-6 16:49:47的发言:
学习中,还真没有试过用ASP+MYSQL

就是没试过,所以才去试,弄了两天拉,都是不行.

一定要搞清楚原因的。

#23
islet2007-06-07 08:38
我感觉应该是驱动问题 php中的驱动跟asp不一样
#24
kuser2011-03-19 16:36
2007年的帖子。。。有人没有能答复一下啊,我也碰到这个问题了。
#25
kuser2011-03-19 17:00
来个高手解答下啊。
#26
明梦缘2011-11-17 19:57
用这个试试:我这是可以的。
<%
set conn = server.createobject("adodb.connection")
conn.open "driver={MySQL ODBC 3.51 Driver};server=yourHost;port=3306;database=databaseName;user=userName;password=password;stmt=set names gbk"
sql = "select * from tableName"
set rs = conn.execute(sql)
while not rs.eof
%>
<tr>
 <td><%=rs(0)%></td>
 <td><%=rs(1)%></td>
 <td><%=rs(2)%></td>
 <td><%=rs(3)%></td>
</tr>
<%
 rs.movenext
 wend
 
 rs.close
 conn.close
%>
1