环境
- Windows XP SP3 with IIS
- Dreamweaver 8/ASP
- Microsoft Script Debugger
出错信息
在浏览器中打开ASP网站某页面提示Couldn't use '(unknown)'; file already in use.
描述
将数据库文件设置成对【Internet 来宾帐户】(IUSR_<machinename>)拥有【写入】权限,但问题依然存在!怀疑Access数据库无法在IIS上多用户共享使用,查资料发现在Connection对象Mode属性可以设置共享模式为Share Deny None(文档提示这是缺省值),而在连接串上加上【Mode=Share Deny None;】运行时提示【无法锁定文件】而无法通过!然后去除后该段文字检查Connection对象打开的Mode为ShareExclusive(独占)而非缺省值。查阅参考1时,其中有“At a minimum, the account being used needs Create, Destroy, Read, Write to work with the .ldb file. Specific permission can be applied to the database to limit access. ”之句,大意是【至少要对.ldb文件提供创建、销毁、读取和写入权限】,表示还要设置.ldb文件的权限!为保险起见,打开含有数据库的目录属性框,在【安全】选项卡中对【Internet 来宾帐户】勾选拥有上述所有权限的【修改】(Modify)或【完全控制】(Full Control)项即可解决问题。
参考
-
PRB: 80004005 "Couldn't Use '(unknown)'; File Already in Use"
http://support.microsoft.com/kb/174943/EN-US/