运行ASP出现Microsoft JET Database Engine 错误的解决办法
ASP网页制作中出现Microsoft JET Database Engine(0x80004005)错误的解决方法

ASP网页制作中出现Microsoft JET Database Engine(0x80004005)错误的解决方法(成功解决)2010-06-08 04:23:48| 分类:默认分类 |字号订阅2010.3.6 15:29在给电脑安装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/ 下创建临时文件,而 % SystemRoot%/temp/ 的权限不够解决:%SystemRoot%/temp/ 的权限加上(IUSER_电脑名的读写)Ps:其实在这里只要开放一个everyone加入,基本上就解决了,主要还是一个盘符类型的问题所引起的。
2、如果一般未指定的错误,还有个办法,先其实只要很简单的几步。
(说真话,没多大的用,不过也可以试试):开始。
运行。
regsvr32 jscript.dll开始。
运行。
regsvr32 vbscript.dll开始。
运行。
iisresetMicrosoft JET Database Engine (0x80004005)未指定的错误解决1、系统可能没有注册msjetoledb40.dll,解决办法是点开始--->运行,输入 regsvr32 msjetoledb40.dll,回车即可;2、数据库所在文件夹权限打开办法是:打开我的电脑,然后点菜单上的“文件夹选项”--->查看,然后把“使用简单文件夹共享(推荐)”前面的钩去掉,然后点“确认”;接下来回到需要打开权限的文件夹(数据库存放的文件夹),右键---> 属性--->安全,然后点“添加”--->"高级"--->立即查找--->然后在下面的地方选择“everyone”--->确定--->点刚才加入的"everyone",然后在下面的大框编辑everyone权限为完全控制,保存即可。
ASP中常见的80004005错误原因及解决

ASP中常见的80004005错误原因及解决
错误信息: Microsoft OLE DB Provider for ODBC Drivers error ’80004005’[Microsoft][ODBC Microsoft Access 97 Driver] The Microsoft Jet databaseengine cannot open the file ’(unknown)’. It is already opened exclusively by another user, or you need permission to view its data. 原因: 这个错误发生在当IIS使用匿名帐号(通常是IUSR)时,该帐号在NT中对数据库所在的目录没有正确的权限. (这就是为什么在Win95和PWS下没问题,因为win95根本就没有目录权限这一说) 检查文件和目录的权限. 确定你能够在该目录中有能够新建和删除临时文件的权限。 这些临时文件其实是数据库建立在同一个目录下的文件, 但是要注意的是,有可能这些文件也可能建立在别 的目录,例如 /Winnt. 使用NT的文件监视程序监视文件失败时到底是访问了什么目录。 这个NT的文件监视程序可以在这个地方下载. 如果你对数据库使用了一个网络地址,例如映射地址,就要检查一下共享文件和目录的权限,还要检查一下 数据源文件(DSN)是否被别的程序标志成为正在使用中,这些别的程序一般是Visual InterDev,关闭任何 一个InterDev中的正打开和数据库连接的项目。 这个错误还可能发生在这种情况:如果在DSN中使用了一个UNC路径(就是通用命名协议),请改用本地路径 进行测试,因为如果对本地数据库使用UNC也可能出错。 还可能发生在这种情况,如果服务器要访问Access中的一个表,而这个表却联接在一个网络服务器上。
不能使用“;文件已在使用中Microsoft JET Database Engine

不能使⽤“;⽂件已在使⽤中Microsoft JET Database Engine错误类型:Microsoft JET Database Engine (0x80004005)不能使⽤ '';⽂件已在使⽤中。
错误原因:解决:iis⽤户对数据⽬录的权限不够,ldb⽂件⽆法⾃动⽣成解决办法:添加internet匿名⽤户对数据⽬录的写⼊权限 这⼀般是出现在⽹站程序访问数据库的时候。
出现该错误,有三种可能的原因:1.iis⽤户对数据⽬录的权限不够,ldb⽂件⽆法⾃动⽣成。
2.要连接的数据库已经被打开,占⽤!关闭数据库可解决问题!(可能别⼈正在下载你的数据库呢!)3.虚拟主机⽤户,空间已满,购买的空间⼤⼩已经⽤完。
解决办法:1.出现第⼀种情况,如果是购买的空间,请联系空间商处理;如果你就是空间商或服务器管理员,因为IIS⽤户对数据库⽬录没有读写权限,具体处理办法是:打开“我的电脑”,找到程序所在的⽬录(例如:D:\wwwroot\),右键点击⽬录,选择“安全”菜单项,选择“⽤户”,把everyone⽤户的读写权限都加上,确定以后,刷新浏览器页⾯,就可以正确使⽤系统了。
2.如果还是有问题,空间商或服务器管理员可以重新启动服务器。
这样数据库的占⽤就可以释放。
如果是虚拟主机空间,联系空间商处理。
请确认你是不是⾃⼰在上传或下载数据库导致数据库⽂件被占⽤。
3.空间不⾜的情况,联系空间商花钱增加⽹站空间或升级配置。
其它相关参考内容:----------------------[分析]1.解决:IIs⽤户对数据⽬录的权限不够,ldb⽂件⽆法⾃动⽣成,请添加internet匿名⽤户对数据⽬录的写⼊权限。
结果:还是不⾏2.注销windows账户,重新登陆。
结果:好⽤了,看来确实是某个进程在占⽤这个mdb⽂件。
备注:判断⼀个mdb⽂件是否被进程占⽤,就看同⽬录下是否有同名的ldb⽂件,若有,就是被占⽤。
当被释放时,ldb⽂件会消失。
Microsoft JET Database Engine (0x80004005) 未指定的错误的完美解决

'''
j=j+1
rsXsl.movenext
Loop
response.write "共导入<font color='red'>" & j-1 & "</font>条记录
\..\..\aa.asp xx行
是什么问题呢?
此连接句有问题吗?
myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strName &
";Extended Properties=Excel 8.0"
instrrev(file1,"\")-1))
if file1="" then
response.write "请选择您要导入的Excel表!<p></p>"
%>
<a href=javascript:history.back()>上一页</a>
Microsoft JET Database Engine (0x80004005)未指定的错误解决
1、系统可能没有注册msjetoledb40.dll,解决办法是
点 开始--->运行, 输入regsvr32 msjetoledb40.dll, 回车即可;
2、数据库所在文件夹权限
rsSql.open str_Sql,myConn,1,3
If Not rsSql.Eof Then
If not isNull(rsSql("maxId")) Then
WIN7下IIS常见问题之Microsoft Jet 数据库引擎打不开文件'(未知的)'

(转)Microsoft Jet 数据库引擎打不开文件'(未知的)'。
它已经被别的用户以独占方式打开2011-06-02 14:55:06| 分类:学习|字号订阅方法1:错误类型:Microsoft OLE DB Provider for ODBC Drivers ('0x80004005') [Microsoft][ODBC Microsoft Access Driver] Microsoft Jet 数据库引擎打不开文件'(未知的)'。
它已经被别的用户以独占方式打开,或没有查看数据的权限。
/conn.asp, 第6 行解决方法:1.在asp操作数据库时出现“操作必须使用一个可更新的查询”错误:2.文件夹——〉属性;或,资源管理器——〉工具——〉文件夹选项3.在“查看”选项卡中不钩选“使用简单文件共享”4.这样,你在XP下NTFS分区文件夹右键,也能看到如WIN2000一样的“安全”选项卡了5.在“安全”选项卡下,点击“添加……”,跳出“选择用户和组”对话框6.然后点击“立即查找”,在下图所示的列表中选择“IUSR_”(下划线之后是你的计算机名)7.之后在“安全”选项卡中就会出现“Internet来宾帐户”,将这个帐户的权限设置为“可修改”和“可写入”最后按确定,问题得到解决,不会再出现“Microsoft OLE DB Provider for ODBC Drivers (0x80004005)”错误!方法2:错误类型:Microsoft OLE DB Provider for ODBC Drivers ('0x80004005')[Microsoft][ODBC Microsoft Access Driver] Microsoft Jet 数据库引擎打不开文件'(未知的)'。
它已经被别的用户以独占方式打开,或没有查看数据的权限。
ASP运行中常见的错误类型与解决方法

ASP运行中常见的错误类型与解决方法asp建站可能会遇到了很多问题,想想大家可能也会遇到这类的问题,在网上也找了一些资料,来和大家一起分享,有些是经历过的,有些是网上给予来的,还希望大家能一起来研究和讨论,有不足的,一起来填补。
错误类型如下:错误类型:ADODB.Field (0x800A0BCD)BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
原因:你在利用SQL查找数据库的记录时,查找结果为空,而且你没有对空记录的情况做出处理。
解决:1 如果你不相信查找结果为空,那你应该考虑你的SQL语句是否正确;2 如果确实有空的情况,那你应该添加"if rs.eof then"或者"do while not rs.eof"之类的语句,对eof的情况进行处理。
错误类型:(0x80020009)发生意外。
原因:也是在利用SQL查找数据库记录时,查找结果为空,而且你在后面的代码中调用了rs("aa")之类的记录解决:要么同上,加上rs.eof的判断和处理,要么就是你的SQL 语句有误,导致记录查不出来,也就无法在后来使用rs("aa")的记录了。
错误类型:Active Server Pages, ASP 0126 (0x80004005)找不到包含文件 'xxx.asp'。
原因:就如错误提示所说,不存在这个包含文件。
解决:如果你确定有这个文件,那么就是你的路径写错了,比如说其实他相对于网站根目录的路径应该是inc/xxx.asp,那么include 里面就应该写inc/xxx.asp,而不仅仅是xxx.asp。
附:include的写法是:错误类型:Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。
几个Microsoft JET Database Engine 错误的解决方法

几个Microsoft JET Database Engine 错误的解决方法《关于ASP+Access程序出现“Microsoft JET Database Engine 错误'80004005'”的解决方法》这种问题的主要提示是“Microsoft JET Database Engine 错误'80004005'”,不同类型的下面还有不同的提示,咱就一一说起吧。
首先要说的是首次调试程序出现这种问题,如果是个一直运行正常的网站突然遇到这种问题那就掠过此段,直接看三。
一、路径问题:在保证源码没有任何问题的前提下,如果看到只是提示数据库路径不对的话是比较的好解决的。
检查下是不是自己为了安全而修改了数据库名称和路径但忘记在和程序配置文件和相关文件里也相应修改了。
查到了改一致就行了。
二、权限问题:这种问题大多会出现以下提示:-------------------------------------------------Microsoft JET Database Engine 错误'80004005'操作必须使用一个可更新的查询/..../xxxx.asp,行xxxx (配置文件路径)-------------------------------------------------遇到这种现象先得自己有服务器的管理员权限,给数据库文件的Internet来宾用户IUSR_XXX用户加上写的权限,有的程序则需要个相关的数据库都加上,有的则需要给数据库这个目录的加上。
同样的道理,如果网站的个别功能使用中出现这种问题,则需要给相应的目录加上写权限,一般用户涉及的主要有附件上传、头像上传等,如果是生成静态页面的则还有静态文件的目录。
管理员涉及的还有数据库备份、模板上传等。
还有一种可能就是服务器环境造成的权限问题,lyj0627遇到的就是这个问题,清理系统垃圾会清楚临时文件夹因为JET引擎在链接数据库的时候会在“%windir%/temp/”目录下创建临时文件,而IIS匿名帐号对“%windir%/temp/”目录操作权限不够,这就需要给\Windows\Temp添加IIS的Internet来宾(IUSR_XXX){XXX就是服务器的主机名}对“%windir%/temp”的读写权限。
解决Microsoft JET Database Engine (0x80040E09)不能更新。数据库或对象为只读。

解决数据库不能更新或数据库或对象为只读[图]
问:为什么访问网站时提示“Microsoft VBScript 运行时错误(0x800A0046) 没有权限或拒绝的权限”,或者出现“Microsoft JET Database Engine (0x80040E09) 不能更新。
数据库或对象为只读”。
原因:
ASP系统安装在NTFS分区,而ASP系统的目录没有给访问的用户读写权限引起的。
解决:
(假定ASP系统安装在H:\PowerEasy目录下,下面的图示以WINXP 为例,其它系统可以参照进行设置,Win2000、Win2003前三步不需要设置)
一、查看ASP系统是否安装在NTFS分区内,FAT32分区无些问题。
二、请进入文件管理器的文件夹选项
三、将“使用简单文件共享”前的勾选去掉
四、右键点击动易系统安装目录-共享和安全
五、添加组和用户名称
六、点击高级选项
七、查找用户或组
八、选择IUSR_*** (***为你的机器的名称)
九、点击确定
十、勾选动易目录对于IUSR_***的读写权限。