Microsoft JET Database Engine (错误类型: 0x80004005)

程修雅
2023-12-01
Microsoft JET Database Engine (0x80004005)
 
错误类型:
Microsoft JET Database Engine (0x80004005)
'D:\software\MIS_lab\M_dangan\m_dangan\dangan.mdb'
不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。
/lab/M_dangan/admin_m_lanmu.asp,
242
经检查,问题出现在于数据库不能访问,,查看conn.asp
<%
dim connstr,conn_jiaoxue
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("m_dangan/dangan.mdb")
conn_jiaoxue="provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("m_jiaoxue/jiaoxue.mdb")
connstr_root="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("../m_dangan/dangan.mdb")
%>
原先采用的是connstr,但是这个里面的数据库的相对位置有出入,因此把该改成connstr_root,问题解决.
网络上的解决方案:

windows+iis服务器上运行asp程序可能会出现数据库无法更新的情况,具体错误信息可能为:

1、Microsoft JET Database Engine (0x80040E09) 不能更新。数据库或对象为只读

2、Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。

3、Microsoft JET Database Engine (0x80004005) 操作必须使用一个可更新的查询。

解决方法:

首先保证您的conn没有任何问题!!

1.把IIS里“目录安全性”中的“匿名访问和身份验证控制”取消,换成“集成 WINDOWS身份验证”即可。

2、在wwwroot文件夹上面点击右键-“属性”-取消“只读”


3、在您的数据库文件上文件夹上面点击右键-“属性”-“安全”-添加用户:“IUSR_计算机名” 并开放“IUSR_计算机名”的读取、写入权限

此方法是目前解决这个问题最好的办法,一般都可以解决问题

XP系统下可能点击右键看不到“安全”选项,请先打开“工具”-“文件夹选项”-“查看”-取消“使用简单文件共享(推荐)” 然后即可在属性中找到“安全”选项

4、在wwwroot文件夹上面点击右键-“属性”-“web共享”-“共享文件夹”

5.在IIS虚拟目录上点击右键-“属性”-”配置“-”选项“-”启用父目录“

——————————————————————————————————————————————

一般来说,这个问题会发生在磁盘格式为NTFS的情况下,由于这个格式加入了安全性的控制,但是在XP的系统下文件夹的被默认为“默认共享”,在“属性”选项卡里是找不到“安全性”这项的。因此应该更改这项设置。方法叙述如下:

打开任意一个文件目录,点击“工具”->“文件夹选项”->“查看”,找到“使用简单文件共享(推荐)”这项,把前面的勾去掉。

在网站所在文件夹上单击右键,选择“属性”,这时就能找到“安全”的选项卡,添加一个用户Everyone,权限设为“完全控制”,这样任何人都对你的网站目录有读写权限了,问题得以解决。

ps:此解决方案是针对winxp 专业版的,对于home版,需要进入安全模式,才能够进行以上项目的修改。

 类似资料: