ASP连接ACCESS数据库失败,提示“未发现数据源名称并且未指定默认驱动程序”

小生刚开始学ASP,教材用的是清华大学出版社出版的《网站开发非常之旅ASP网络编程从入门到精通》一书,顼宇峰、马军编著。
今天学的是第八章第4节——使用Connection对象,学习过程中看到如下这样一道编程题:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Example4.asp</title>
</head>

<body>
<%
database="search.mdb"
Strconnect="Driver={Microsoft Access Driver(*.mdb)};DBQ="&Server.MapPath(database)
set Objconn=Server.CreateObject("Adodb.connection")
Objconn.open Strconnect
Objconn.Execute"Insert Into Record(name) values ('eawin')",RecordsAffected,adcmdtext
Response.write("The RecordsAffected is "&RecordsAffected)
Set rs=objconn.Execute("Select *form Record",RecordsAffected1,adCMDText)
Response.write("<br>The RecordsAffected is "&RecordsAffected1)
Objconn.close
%>
</body>
</html>

输入DreamWeaver后,预览时错误提示:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
/ASP/example4.asp, 第 12 行

在预览前,我创建了系统SDN的,我的ACCESS数据库存D盘根目录下的,数据库的文件名是search.mdb。我尝试过不使用MapPath()方法,直接用Strconnect="Driver={Microsoft Access Driver(*.mdb)};DBQ=d:/search.mdb"但还法无法成功预览,错误提示仍然是同上,说是“未发现数据源名称并且未指定默认驱动程序”

声明一下,在DreamWeaver中建立了站点了。

呵呵,你用变量database代替数据库 在连接数据的时候 因为 database 是变量 所以 Server.MapPath(database) 应写成 Server.MapPath("&database&") 这个你要参考字符串 数字 和 ID在连接时不同的格式,
我给你个我长用的正确而且简单的连接方法
<%
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.open "Dbq="&Server.MapPath("date/date.mdb")&";Driver={Microsoft Access Driver (*.mdb)}"
%>
百适不爽,asp很好学的,以后有不懂的在问我.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-04-24
数据调用地址不对!调用页当前地址要与数据库相对地址相同

ASP中五种连接数据库的方法
第一种 - 这种方法用在ACCESS中最多

strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("aspfree.mdb")

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

conn.open strconn

第二种-这种方法用在SQL SERVER中多

strconn = "Driver={SQL Server};Description=sqldemo;SERVER=127.0.0.1;UID=LoginID;PWD=Password;DATABASE=Database_Name

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

conn.open strconn

第三种

strconn="Driver={MicrosoftAccessDriver(*.mdb)};" &_

"DBQ=F:\Inetpub\wwwroot\somedir\db1.mdb;DefaultDir=f:\Inetpub\wwwroot\somedir;uid=LoginID;" &_

"pwd=Password;DriverId=25;FIL=MSAccess;" set conn = server.createobject("adodb.connection")

conn.open strconn

第四种运用系统数据源

The following uses a Data Source Name:

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

conn.open "Example"

第五种运用ODBC数据源,前提是你必须在控制面板的ODBC中设置数据源

set rs = server.createobject("adodb.recordset")

rs.open "tblname", "DSNName", 3, 3
第2个回答  2009-04-24
没有看见你的数据库在那里啊?是在目录文件里么?其实可以不声明的,直接指定就可以的。
这样简单些
<%
set conn=server.createobject("adodb.connection") '连接库
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("search.mdb")
%>
第3个回答  2009-04-23
1、数据库文件应该放在站点内,就是把search.mdb拷贝到你的站点根目录下。
2、确保你机子有Microsoft Access Driver(安装Access就可以了)
相似回答