动易Cms:Microsoft JET Database Engine 错误 '80004005' 错误解决方法

作者:网络 来源:佚名 更新时间:2009-04-17 点击:

一个批处理清理了一下电脑垃圾,结果acc数据库就出错。

 

系统环境
windows 2003+iis6+ntfs
asp+access

错误信息
microsoft jetdatabase engine 错误 '80004005' 未指定的错误


故障原因
此类错误一般出现于文件系统为ntfs格式中,是iis匿名帐号(iusr_计算机名)对相关文件、文件夹操作权限不足引起的。
一、存放数据库文件夹对iis匿名帐号没有写入、修改权限,错误表现为无法对数据库进行更新、写入
二、 系统临时文件夹目录对iis匿名帐号没有写入、修改权限,错误表现为访问服务器上任何采用microsoft jet database engine 链接access类数据库的文件都是出错。正常情况下是不会出现这个错误的,当使用某些系统垃圾清理优化工具、或其它一些因素可能会导致这个目录权限发生 改变。所以请慎重使用此类工具。

解决办法
一、检查存放microsoft access数据库文件的文件夹是否有对iis匿名帐号有写入权限,如果没有,请赋于写入权限,特别是当错误信息为(microsoft jet database engine 错误 '80004005' 操作必须使用一个可更新的查询。)时。

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

其它一些未指定的错误,可以尝试重新注册asp脚本解释链接库文件。
依顺序运行以下命令:
1.regsvr32 jscript.dll
2.regsvr32 vbscript.dll
3.iisreset