不能使用“;文件已在使用中 Microsoft JET Database Engine

错误类型:
Microsoft JET Database Engine (0x80004005)
不能使用 '';文件已在使用中。

错误原因:解决:iis用户对数据目录的权限不够,ldb文件无法自动生成

解决办法:添加internet匿名用户对数据目录的写入权限  

异常详细信息: System.Data.OleDb.OleDbException: 不能使用 '';文件已在使用中。

这一般是出现在网站程序访问数据库的时候。
出现该错误,有三种可能的原因:
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
解决:IIs用户对数据目录的权限不够,ldb文件无法自动生成,请添加internet匿名用户对数据目录的写入权限。

参见:Microsoft Support ---Microsoft Knowledge Base Article - 289681

时间: 2012-06-18

解决Access出现Microsoft JET Database Engine (0x80004005)未指定的错误

Microsoft JET Database Engine (0x80004005)未指定的错误,这个错误只有在使用Access数据库时才能出现   出现以上问题,可以使用以下步骤进行解决问题:   1.系统可能没有注册msjetoledb40.dll,解决办法是    点 开始--->运行, 输入 regsvr32 msjetoledb40.dll, 回车即可: 2.数据库所在文件夹权限    打开办法是:打开我的电脑,然后点菜单上的"文件夹选项"--->查看,然后把&q

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

今天在给一台新的电脑安装IIS,安装成功,建立虚目录后,运行一个已经在别的机器上的正确的asp文件,就是不成功,提示:Microsoft JET Database Engine (0x80004005) 未指定的错误,于是我又将这个文件放到另一台机器上运行,正常,一点问题没有,但在这台机器上就出问题.这样就排除了asp文件问题了.于是就想到,重装IIS.重装后,还是一样.最后发现是硬盘的分区有问题,那些安装好IIS后就能asp程序的电脑是fat32分区,这台是ntfs分区.需要给c:\windo

Microsoft JET Database Engine 错误 '80004005' 未指定的错误的完美解决方法

一般情况下asp可以正常运行,但只要连接数据库就提示,Microsoft JET Database Engine 错误 '80004005',我的电脑因为用批处理清理文件,所以不能运行了, 只1.查看数据库连接语句没有发现错误: 2.查看文件夹的权限已经全部给了everyone: 3.打开数据库的同时,系统会在临时文件夹 %SystemRoot%/temp/ 下创建临时文件,而 %SystemRoot%/temp/ 的权限不够 解决:%SystemRoot%/temp/ 的权限加上(IUSER_

IIS7.5 提示未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序

在WIN7 X64平台IIS7.5,使用Asp.net连接access数据库时候,提示:未在本地计算机上注册"Microsoft.Jet.OleDb.4.0"提供程序. 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.InvalidOperationException: 未在本地计算机上注册"Microsoft.Jet.OleDb.4.0"提供程序. 源错误

Linux如何处理文件已删除但空间不释放的问题

问题产生背景 一个业务系统的服务器监控系统发来预警通知,磁盘空间使用率已经达到90%了,然后就登陆服务器搜索了下比较大的日志文件,全部都删除了(坑在此处埋上了),磁盘空间释放了一些,当时也是疏忽,没有确认查出并删除的文件大小的空间是否已经全部释放.没过几天,服务器又被预警了,比较纳闷,日志怎么增长的这么快,排查之后发现,原来是上次操作删除文件后,有个较大的文件空间没有释放导致的. 问题还原及解决办法 找到占用空间较大的数据文件 #查看磁盘空间使用情况 $ df -h #先查询/tmp目录下占用空

未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序错误的解决方法

最近在做一个导入Excel数据到数据库的程序出现了如下错误: 运行环境 数据库:SqlServer2008 R2 OS:Windows Server 2008 R2 IIS:IIS7 解决方法 在应用程序对用的应用程序池的高级设置中设置"启用32位应用程序"为"True"

清除系统垃圾文件的批处理(无错增强版)

"清除系统垃圾.bat","clear.bat","一键清除系统垃圾.bat","30秒清除系统垃圾.bat","快速清除系统垃圾.bat" 基本上找到的者是一个文件, 但这里面也有很多不足或需要改进的地方,但大多数人看不懂DOS命令,所以被改的机会会很少,下面是我所发现的问题及其改进,可以说是比较完美的版本了. 从网上找的,修改了一行,以解决ASP+ACCESS错误:"Microsoft JET

用ASP打开远端MDB文件的方法

如果你用ODBC connection (DSN or DSN-less)来访问远端的(UNC path)数据库, OLEDB会出现以下错误信息: Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot open the file '(unknown)'. It is 

win2003 服务器 安全设置 技术实例(比较安全的方法)

1.服务器安全设置之--硬盘权限篇 这里着重谈需要的权限,也就是最终文件夹或硬盘需要的权限,可以防御各种木马入侵,提权攻击,跨站攻击等.本实例经过多次试验,安全性能很好,服务器基本没有被木马威胁的担忧了. 硬盘或文件夹: C:\ D:\ E:\ F:\ 类推 主要权限部分: 其他权限部分: Administrators 完全控制 无如果安装了其他运行环境,比如PHP等,则根据PHP的环境功能要求来设置硬盘权限,一般是安装目录加上users读取运行权限就足够了,比如c:\php的话,就在根目录权限