2024年3月23日发(作者:)

几个Microsoft JET Database Engine 错误的解决方法

《关于ASP+Access程序出现“Microsoft JET Database Engine 错误 '80004005'”

的解决方法》

这种问题的主要提示是“Microsoft JET Database Engine 错误 '80004005'”,不同

类型的下面还有不同的提示,咱就一一说起吧。

首先要说的是首次调试程序出现这种问题,如果是个一直运行正常的网站突然遇到这

种问题那就掠过此段,直接看三。

一、路径问题:在保证源码没有任何问题的前提下,如果看到只是提示数据库路径不

对的话是比较的好解决的。检查下是不是自己为了安全而修改了数据库名称和路径但忘记

在和程序配置文件和相关文件里也相应修改了。查到了改一致就行了。

二、权限问题:这种问题大多会出现以下提示:

-------------------------------------------------

Microsoft JET Database Engine 错误 '80004005'

操作必须使用一个可更新的查询

/..../,行 xxxx (配置文件路径)

-------------------------------------------------

遇到这种现象先得自己有服务器的管理员权限,给数据库文件的Internet来宾用户

IUSR_XXX用户加上写的权限,有的程序则需要个相关的数据库都加上,有的则需要给数

据库这个目录的加上。同样的道理,如果网站的个别功能使用中出现这种问题,则需要给

相应的目录加上写权限,一般用户涉及的主要有附件上传、头像上传等,如果是生成静态

页面的则还有静态文件的目录。管理员涉及的还有数据库备份、模板上传等。

还有一种可能就是服务器环境造成的权限问题,lyj0627遇到的就是这个问题,清理系

统垃圾会清楚 临时文件夹 因为JET引擎在链接数据库的时候会在“%windir%/temp/”

目录下创建临时文件,而IIS匿名帐号对“%windir%/temp/”目录操作权限不够,这就

需要给WindowsTemp添加IIS的Internet来宾(IUSR_XXX){XXX就是服务器的主机

名}对“%windir%/temp”的读写权限。还有种可能就是服务器上的Windows Scripts版

本较低,如果是一直运行正常的服务器就不用看了,要是新装的可以下载安装个较高版本

的Windows scripts。

如果这样还不行的话就有可能是你的服务器系统环境变量路径的问题,是没有设在

“%systemroot%temp”(Windows目录)下,而是在“%USERPROFILE%Local

SettingsTemp”(Documents and Settings目录)下,这种的改下就行了,具体位置是

在“我的电脑”点右键选“属性”,在“高级”标签中的“环境变量”,修改后重启服务器

后环境变量才能生效

有很多攻略说以上这些操作要给users组和everyone组添加读写权限,这个嘛……俺

觉得安全第一,光给Internet来宾(IUSR_XXX)就行了。