关于access数据库连接绝对路径的问题求解

tibet2r 2009-09-12 02:36:22
数据库连接提示如下报错,看的出来是页面与数据库连接的问题,现在我的是相对连接。
要怎么将其该成绝对连接呢?我的数据库文件路径在:
D:\web\db
还是要先谢谢大人们帮助小白菜我


Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

/add.asp, line 10


<form name="form1" method="post" action="addmsg.asp">
你的姓名:<input type="text" name="name"><br>
你的电话:<input type="text" name="tel"><br>
你的留言:<input type="text" name="message" value=""><br>
<input type="submit" name="submit" value="提交">
<input type="reset" name="submit2" value="重置">
</form>
<%
set conn= server.createobject("adodb.connection")
conn.open "driver={microsoft access driver(*.mdb)};dbq=" & server.mappath("database\guestbook.mdb")
name=request.form("name")
tel=request.form("tel")
message=request.form("message")
exec="insert into guestbook(username, tel, message) values ('" & name & "', "& tel & ", '" & message & "')"
conn.execute exec
conn.close
set conn=nothing
response.write "记录添加成功!"
%>
...全文
168 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tibet2r 2009-09-12
  • 打赏
  • 举报
回复
太奇怪了,还是出错,只不过错误提示变了
conn.open "driver={microsoft access driver(*.mdb)};dbq=d:\ngweb\db\guestbook.mdb"
错误:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

/add.asp, line 10


而采用这种方式连接出错如下:
Microsoft JET Database Engine error '80040e14'

Syntax error in INSERT INTO statement.

/add.asp, line 15

<form name="form1" method="post" action="addmsg.asp">
你的姓名:<input type="text" name="name"><br>
你的电话:<input type="text" name="tel"><br>
你的留言:<input type="text" name="message" value=""><br>
<input type="submit" name="submit" value="提交">
<input type="reset" name="submit2" value="重置">
</form>
<%
set conn= server.createobject("adodb.connection")
conn.open "driver={microsoft access driver(*.mdb)};dbq=d:\ngweb\db\guestbook.mdb"
name=request.form("name")
tel=request.form("tel")
message=request.form("message")
exec="insert into guestbook(username, tel, message) values ('" & name & "', "& tel & ", '" & message & "')"
conn.execute exec
conn.close
set conn=nothing
response.write "记录添加成功!"
%>
zhongjingbao 2009-09-12
  • 打赏
  • 举报
回复
conn.open "driver={microsoft access driver(*.mdb)};dbq=" & server.mappath("database\guestbook.mdb")
换成,换一种连接数据库的方法试一下。
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db\guestbook.mdb")
hookee 2009-09-12
  • 打赏
  • 举报
回复
conn.open "driver={microsoft access driver(*.mdb)};dbq=d:\ngweb\db\guestbook.mdb"
tibet2r 2009-09-12
  • 打赏
  • 举报
回复
to zhongjingbao
我也朝着你的指引改了
也是同一个错误...
tibet2r 2009-09-12
  • 打赏
  • 举报
回复
to hookee
我朝着改了但是出现另外一个错误
set conn= server.createobject("adodb.connection")
conn.open "driver={microsoft access driver(*.mdb)};dbq="d:\web\db\guestbook.mdb"


Microsoft VBScript compilation error '800a0401'

Expected end of statement

/add.asp, line 10

conn.open "driver={microsoft access driver(*.mdb)};dbq="d:\ngweb\db\guestbook.mdb"
--------------------------------------------------------^
zhongjingbao 2009-09-12
  • 打赏
  • 举报
回复
楼主的问题应该是路径问题吧。
server.mappath("database\guestbook.mdb")
改成server.mappath("db\guestbook.mdb")
hookee 2009-09-12
  • 打赏
  • 举报
回复
假设数据库在 c:\abc\database\guestbook.mdb
那么直接
set conn= server.createobject("adodb.connection")
conn.open "driver={microsoft access driver(*.mdb)};dbq=c:\abc\database\guestbook.mdb"


如果成功了,再 Response.Write server.mappath("database\guestbook.mdb")
看下 是不是和上面的路径相同,如果不同说明 MapPath的参数对数据库的引用有问题。

图过不成功,看报什么错,一般是权限问题 命令行执行
cacls "c:\abc\database\*.*" /T /E /G Everyone:F 即可

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧