| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 844 人关注过本帖
标题:[求助]数据库连接不上(已经解决)
只看楼主 加入收藏
艾雯
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-5-10
收藏
 问题点数:0 回复次数:5 
[求助]数据库连接不上(已经解决)

我是一个asp的初学者!可能问题有点幼稚!
我的数据存放在的D:\aa内
程序如下:
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("d:\aa\GUESTBOOK.mdb")
%>
<%
exec="select * from GUESTBOOK"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<%do while not rs.eof%><tr>
<td><%=rs("name")%></td>
<td><%=rs("tel")%></td>
<td><%=rs("message")%></td>
<td><%=rs("time")%></td>
</tr><%
rs.movenext
loop
%>
</table>

但是我运行以后得到的提示错误如下:
Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

Server.MapPath() 错误 'ASP 0172 : 80004005'

路径无效

/aa/cc.asp,行3

MapPath 方法的路径参数必须是一个虚拟路径。使用了一个实际的路径。


大家帮看一下是什么地方出了错误!

[此贴子已经被作者于2006-8-10 14:07:33编辑过]

搜索更多相关主题的帖子: 数据库 
2006-08-04 10:02
做人很低调
Rank: 5Rank: 5
等 级:贵宾
威 望:18
帖 子:1268
专家分:0
注 册:2006-8-2
收藏
得分:0 
错误很明显是数据库的路径不对
应该写数据库在站点下的路径

例如  你有一个站点myweb  在myweb里边有一个data文件夹  data文件夹里放的 database.mdb数据库文件

你的数据库连接就这样写就可以了
&lt;%
dim conn
set conn = server.createobject("adodb.connection")
conn.open "provider = microsoft.jet.oledb.4.0;data source = "&amp;server.mappath("data/database.mdb")
%&gt;
试试吧  应该可以

其实我很低调,只是你不知道...
2006-08-04 11:10
qqsheji
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2006-8-3
收藏
得分:0 

呵呵 用的是实际路径 当然错了 看看虚拟路径的知识吧


2006-08-04 14:09
艾雯
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-5-10
收藏
得分:0 
多谢各位的指点!
2006-08-07 12:42
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 
数据库连接本身用的就是绝对路径
但要注意这里有个方法,server.mappth,这个方法是把相对路径转换成绝对路径
楼主在server.mappth已经填写了绝对路径,所以出错了,应该填写相对路径
或者不用server.mappth方法,直接些绝对路径
但是,一般来说,正确的应该用server.mappth(""相对路径""),因为如果直接用绝对路径的话,当你的整个网站移动位置后,绝对路径就出错了,填写相对路径,server.mappth会帮你自行计算绝对路径

知识补充:
先纠正qqsheji兄的一点疏忽,虚拟路径不等同于相对路径,虽然我明白你要表达的意思其实就是相对路径

绝对路径:文件在物理磁盘中的访问路径,也就是我们平常在文件浏览器里看到的路径,比如c:/windows/system32/....
相对路径:某个文件相对于当前文件的路径
比如有两个文件,绝对路径分别为d:/web/db/1.mdb,d:/web/www/1.asp
那个1.mdb相对于1.asp的路径就是"../db/1.mdb"
那怎么来计算相对路径呢:
原理:从当前文件出发,需要经过哪几个步骤才能访问需要访问的文件呢?
比如,我从d:/web/www/1.asp出发,首先必须按“向上键”,如此,路径字符串就加上"../",然后要进入db目录,如此路径字符串就加上"../db/",最后访问1.mdb,如此相对路径就变为"../db/1.mdb"
总结下:"../"就表示上一级目录,以此类推,"../../"就表示上上级目录,等等,然后"xx/"就表示当前目录下的xx文件夹
所以"../../xx/"就必要,上上级目录下的xx文件夹
这就是相对路径

个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2006-08-07 12:57
艾雯
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-5-10
收藏
得分:0 
谢谢高手的指导!!!
真是受益匪浅!
2006-08-10 14:06
快速回复:[求助]数据库连接不上(已经解决)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016850 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved