ASP 子目录下的 ADO 不能使用?

来源:百度知道 编辑:UC知道 时间:2024/05/29 06:28:53
conn.asp在主目录下能使用,放在下一层目录就服务器500错误了???
用Server.MapPath("数据库.mdb")
路径是对的。
但是还是服务器500错误!!!
什么回是啊?

不要灌水,急啊……
<%
set data=Server.CreateObject("ADODB.Connection")
data.Provider="Microsoft.Jet.OLEDB.4.0"
data.Open Server.MapPath("admin.mdb")
%>

注:单独运行此程序也不行!一样显示服务器500错误。
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0x1130 Thread 0xd04 DBC 0x2887ff7c Jet'。

怎么解决?

再补充下……这是全能主机……

呵呵,我觉得你肯定是路径搞错了。
路径是相对于调用conn.asp文件的那个文件(用“父文件”比较好理解吧)的,而不是相对conn.asp。
换句话说:如果你的数据库跟“父文件”在同一个目录下,那么,在conn.asp里,路径只能是“admin.mdb”,即使你的conn.asp放在下下下下...下级目录,还是只能写“admin.mdb”。因为conn.asp是被调用的“子文件”,它是“父文件”的一部分,而不再是独立的。

补充:
呵呵,你还是不相信么?你现在看到的是友好错误信息。
设置下IE你就可以看到真正的错误信息了:工具--》Internet 选项--》高级--》去掉“显示友好http错误信息”前的勾--》确定
现在你再刷新下看看,是不是提示路径错误?
呵呵,还是上面说的,conn.asp里面的路径要根据调用它的那个文件来设。你单独运行它,因为相对路径不同了,所以也是要报错的。

关于"技术信息(用于支持人员)

错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0xd68 Thread 0xe6c DBC 0x1f70064 Jet'。
/unit6/6-01.asp, 第 4 行"
解决如下:
(1)检查是否在IIS中对整个网站打开了“写入”权限,而不仅仅是数据库文件。
(2)检查是否在WIN2003的资源管理器中,将网站所在目录对EveryOne用户打开所有权限。具体方法是:打开“我的电脑”----找到网站所在文件夹----在其上点右键----选“属性”-----切换到“安全性”选项卡,在这里给EveryOne用户所有权限。
注意: 如果你的系统是XP,请先点“工具”----“文件夹选项”----“查看”-----去掉“使用简单文件共享”前的勾