【云主机相关】不能使用“;文件已在使用中 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