Microsoft JET Database Engine(0x80004005)未指定错误的解决方法,engine0x80004005
Microsoft JET Database Engine(0x80004005)未指定错误的解决方法,engine0x80004005
今天在给一台新的电脑安装IIS,安装成功,建立虚目录后,运行一个已经在别的机器上的正确的asp文件,就是不成功,提示:Microsoft JET Database Engine (0x80004005)
未指定的错误,于是我又将这个文件放到另一台机器上运行,正常,一点问题没有,但在这台机器上就出问题。这样就排除了asp文件问题了。于是就想到,重装IIS。重装后,还是一样。最后发现是硬盘的分区有问题,那些安装好IIS后就能asp程序的电脑是fat32分区,这台是ntfs分区。需要给c:\windows\temp给予everyone所有权限。这样再运行就正常了。
下面是Microsoft JET Database Engine (0x80004005)未指定的错误的所有解决方法,转自网络,放在这里希望能帮上大家解决问题。
1.查看数据库连接语句没有发现错误;
2.查看文件夹的权限已经全部给了everyone;
3.打开数据库的同时,系统会在临时文件夹 %SystemRoot%/temp/ (C:\WINDOWS\temp)下创建临时文件,而 %SystemRoot%/temp/ 的权限不够
解决:%SystemRoot%/temp/ 的权限加上(IUSER_电脑名的读写)
2、如果一般未指定的错误,还有个办法,先
其实只要很简单的几步。:
开始。。。运行。。。regsvr32 jscript.dll
开始。。。运行。。。regsvr32 vbscript.dll
开始。。。运行。。。iisreset
Microsoft JET Database Engine (0x80004005)未指定的错误解决
1、系统可能没有注册msjetoledb40.dll,解决办法是
点 开始--->运行, 输入 regsvr32 msjetoledb40.dll, 回车即可;
2、数据库所在文件夹权限
打开办法是:打开我的电脑,然后点菜单上的“文件夹选项”--->查看,然后把“使用简单文件夹共享(推荐)”前面的钩去掉,然后点“确认”;接下来回到需要打开权限的文件夹(数据库存放的文件夹),右键---> 属性--->安全,然后点“添加”--->"高级"--->立即查找--->然后在下面的地方选择“everyone”--->确定--->点刚才加入的"everyone",然后在下面的大框编辑everyone
权限为完全控制,保存即可。
3、需要打开guest用户
打开方法:我的电脑--->控制面板--->管理工具---->计算机管理--->本地用户和组---用户---找到"guest",双击,然后把弹出来的狂上的“帐户已停用”前的钩去掉,保存即可。
4、temp(临时文件夹)权限
打开办法:windows--->temp,单击右键选择-属性,你就会看到一个叫做“安全”的选项,添加一个everyone,权限设置为完全控制,再将你正在使用windows的用户也设置为完全控制.(件夹权限打开办法是:打开我的电脑,然后点菜单上的“文件夹选项”--->查看,然后把“使用简单文件夹共享(推荐)”前面的钩去掉,然后点“确认”;接下来回到需要打开权限的文件夹(数据库存放的文件夹),右键---> 属性--->安全,然后点“添加”--->"高级"--->立即查找--->然后在下面的地方选择“everyone”--->确定--->点刚才加入的"everyone",然后在下面的大框编辑everyone权限为完全控制,保存即可。
="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
改为
="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
db已经定义了路径,你加的""是什么意思?
db="/zhibianfz.mdb"改为db="/zhibianfz.mdb"因为/是远程路径,\才是本地路径,连接数据库是服务器做的本地连接
=========================================
改为db="\zhibianfz.mdb"
今天上午写错了,连接数据库是属于本地路径,要用\不是/
如果你的这个文件不是在WEB根目录,最好是不用\,也就是说
db="zhibianfz.mdb"这样最好,这是相对目录,如果\zhibianfz.mdb是根路径,如果你的程序不在根目录,当然就会出错
故障原因
此类错误一般出现于文件系统为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
相关内容
- 暂无相关文章
评论关闭