Microsoft JET Database Engine 错误 '80004005'

来源:互联网 发布:鼎尖软件apk 编辑:程序博客网 时间:2024/06/06 00:28

Microsoft JET Database Engine 错误 '80004005'

来宾账户对asp存放目录没有读写

类似错误提示:

Microsoft JET Database Engine 错误 '80004005' 操作必须使用一个可更新的查询。 


故障原因

此类错误一般出现于文件系统为NTFS格式中,是IIS匿名帐号(IUSR_计算机名)对相关文件、文件夹操作权限不足引起的。

一、存放数据库文件夹对IIS匿名帐号没有写入、修改权限,错误表现为无法对数据库进行更新、写入

二、系统临时文件夹目录对IIS匿名帐号没有写入、修改权限,错误表现为访问服务器上任何采用Microsoft JET Database Engine 链接Access类数据库的文件都是出错。正常情况下是不会出现这个错误的,当使用某些系统垃圾清理优化工具、或其它一些因素可能会导致这个目录权限发生改变。所以请慎重使用此类工具。

 

 

解决办法

一、检查存放Microsoft Access数据库文件的文件夹是否有对IIS匿名帐号有写入权限,如果没有,请赋于写入权限,特别是当错误信息为(Microsoft JET Database Engine 错误 '80004005' 操作必须使用一个可更新的查询。)时。

 

赋予IIS匿名帐号写入权限的方法:

1、右击存放数据库的文件夹,查看属性——找到安全选项卡——里面有针对组和用户的权限,可以查看是否有IIS匿名账号的相应的权限,并且修改。

站点-> 属性



 

2、如果在属性中没有找到安全选项卡的话,打开我的电脑——工具——文件夹选项——查看——将“使用简单文件共享(推荐)”前的勾给去掉——确定。然后再重新对数据库文件夹进行修改就可以了。

 

右击站点文件夹属性,出现“安全选项卡”,点击“添加”

 



 

  

 

二、JET引擎在链接数据库的时候会在%windir%/temp/目录下创建临时文件,而IIS匿名帐号对%windir%/temp/目录操作权限不够,添加IIS匿名帐号(IUSR_计算机名)对%windir%/temp/的读写权限即可。

 

其它一些未指定的错误,可以尝试重新注册ASP脚本解释链接库文件。

依顺序运行以下命令:

1.regsvr32 jscript.dll

2.regsvr32 vbscript.dll 

3.iisreset

 

0 0
原创粉丝点击