asp 访问access不允许使用../ 问题
今天遇到一个很奇怪的问题:有3个asp文件, 1.asp ,2.asp, conn.asp
其中目录为
1.asp文件和conn.asp文件的父目录Db位于同一层,则1.asp中包含conn.asp文件为:<!--#include file="Db/conn.asp"-->
2.asp文件处于目录manage中,则2.asp文件也要访问conn.asp, 包含格式为:<!--#include file="../Db/conn.asp"-->
而conn.asp位于Db目录中,内容为<%
dbpath=server.MapPath("../database/order.mdb")
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)}; DBQ=" & dbpath
set rs=server.createobject("adodb.recordset")
%>
order.mdb为数据库文件,其父目录和manage目录为同一层的。
问题出来了:1.asp文件访问数据库正常;
2.asp 报错了,提示错误信息如下:
“错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0x7d4 Thread 0x5dc DBC 0x1223fa4 Jet'。
/search/connDb/conn.asp, 第 4 行 ”
结论:是不是asp中只要是访问mdb文件的,都不允许用相对路径呢?
尝试过修改windows/temp的权限等等,均不可以。似乎还是和路径有关系的。