asp数据连接问题,总是找不到包含的文件

有一个conn.asp文件是做数据库连接的,其他文件包含这个文件<!--#includefile="../conn_db123.asp"-->用的是access数据库,数... 有一个conn.asp文件是做数据库连接的,其他文件包含这个文件<!--#include file="../conn_db123.asp"-->
用的是access数据库,数据库在与conn并行下的一个文件夹data里
conn里的连接语句:
dbpath="data/bbb.mdb"
conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;Data source="&Server.MapPath(dbpath)
当其他asp文件与conn.asp在同一个文件夹下的时候就可以正常连接
但是如果新建一个文件夹,取名a,在a里面新建一个文件b.asp,在b.asp里写包含conn.asp的语句:<!--#include file="../conn.asp"-->,这个时候就会提示找不到指定的文件:
错误类型:
Microsoft JET Database Engine
(0x80004005)
'****\a\data\bbb.mdb'不是一个有效的路径。
确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。
***/conn.asp, 第 8 行

这个错误提示是在conn.asp里找不到数据库bbb.mdb的文件
问题是数据库的路径是"data/bbb.mdb",而不是\a\data\bbb.mdb,我想问为什么会指向错误的路径。

如果我把conn.asp文件放到a文件夹里,把b.asp里的包含路径改为<!--#include file="conn.asp"-->,也会是这个错误,实在是不明白。
看到有人这么说,不知道是不是这个原因,asp本身的问题。

如果你的CONN.ASP文件用Server.Mappath()来去数据库路径的话,这是必然的!也是ASP在相对路径方面的一个大缺陷。其实楼上的说的是正确的,楼主不要误会了他的意思。这种情况只发生在连接ACCESS数据库上。
改用别的方法吧,方法很多的,比如(用类来封装,设置一个路径属性,或者在conn.asp里做一个函数,用一个参数来表示相对根的层次,等等)实在不知道就补充说吧。因为要说的话一两句也说不清。
http://zhidao.baidu.com/question/2534459.html?fr=push
问:这个别的方法怎么来实现呢?
展开
 我来答
网海1书生
科技发烧友

2015-04-01 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
conn里的连接语句:
dbpath="data/bbb.mdb"
请注意,这是个相对路径,这个“相对”,并不是相对于conn.asp所在的路径,而是相对于用include调用conn.asp的那个asp文件所在的路径!比如说你题目中的b.asp是在文件夹a内的,那么当它用include调用conn.asp时,相对路径data/bbb.mdb转为绝对路径就是\a\data\bbb.mdb了,所以就会提示找不到文件了。

这也就是说,任何与conn.asp同文件夹的asp文件调用conn.asp后就能正确打开数据库,而放在其他文件夹的asp文件就会失败!
要解决这个问题,就要把conn.asp中的相对路径改为绝对路径,这样的话放在任何文件夹的asp文件调用conn.asp后都能打开数据库了:
dbpath="/data/bbb.mdb"

补充说明:
<!--#include file="../conn.asp"-->

当服务器运行到上述命令时,会先找到conn.asp这个文件,然后把文件的所有内容提取出来,插入并替换上述语句所在位置,所以你可以把dbpath="data/bbb.mdb"看作是b.asp中的语句,这么一来,你就理解我前面所说的那一大堆东西了。
娘子你坏
2015-04-01 · TA获得超过222个赞
知道小有建树答主
回答量:415
采纳率:0%
帮助的人:190万
展开全部
因为你的东西都是在a文件夹下,所以就报错了啊,你用根目录的方法就是。引用就是相当于把代码复制进去。你把代码带入b.asp就知道路径为什么不对了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式