您当前的位置:首页 > 服务器

Microsoft JET Database Engine 错误(未指定的错误)解决方法

时间:2017-05-13 16:22:45  来源:  作者:

Microsoft JET Database Engine 错误(未指定的错误)解决方法

最近我们的网站总是出现Microsoft JET Database Engine 错误 '80004005' 未指定的错误,重新启动一下服务器就好了,先说说网站的具体环境吧!

windows2003+iis6.0+asp+access

从网上找到些资料,一个一个做实验,可是仍然没有解决问题!

1、有人说检查数据库连接程序,最好使用JET(没有解决问题)

2、将网站的目录权限设置成everyone完全控制(虽然很不安全,但还是试了,没有解决问题)

3、将windows/temp的目录权限设置成everyone完全控制(虽然很不安全,但还是试了,没有解决问题)

最后使用

开始。。。运行。。。regsvr32 jscript.dll (命令功能: 修复Java动态链接库)
开始。。。运行。。。regsvr32 vbscript.dll(命令功能:修复VB动态链接库)
开始。。。运行。。。iisreset (命令功能:重启IIS)

解决了问题,网站可以访问了,但是会不会还是出现这个问题呢!我重新启动服务器,也就是相当于重新启动了IIS,这个方法是否有效,还得再看看!

继续在网上找资料

有人说将IIS_计算机名的用户提至administrators组可以解决问题,这个太危险了,我没尝试。

有人说在iis里面把这个网站设置成不允许匿名访问,结果输入密码后可以访问,说明是权限问题,于是把 \windows\system32\config\systemprofile\Local Settings\TEMP 目录权限设置everyone的可读取权限,可以解决问题,我还没有尝试

如果是一直不能访问,有可能上面的方法可以解决,但是我的问题是本来网站是正常访问的,可是过上一段时间就会连接不上数据库,重新启动IIS或者服务器,网站又恢复正常了,是不是可以排除程序或者权限的问题,那问题在哪里呢?

我的分析是可能和数据库有关系,如果程序打开数据库连接,却不关闭,这样就形成了一个ACCESS数据库的连接数,如果这个数量超过了access的最大连接数,会不会连接出错呢?

      
故障原因
此类错误一般出现于文件系统为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

来顶一下
返回首页
返回首页
发表评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
    无相关信息
栏目更新
栏目热门