[原创]论老程序员的价值[聊以自勉]- -| 回首页 | 2005年索引 | - -偶像存在的价值

[转载]出现"80004005 "错误的解决方法- -

                                      

摘自 tigerwen01的专栏

网址:http://blog.csdn.net/tigerwen01/archive/2003/07/03/20205.aspx

 


连接ACCESS时出现"80004005 "Couldn't Lock File""错误的解决

适用于:
  • Microsoft Active Server Pages
  • Microsoft Data Access Components 1.5
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.1 SP1
  • Microsoft Data Access Components 2.1 SP2
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.5 SP1
  • Microsoft Data Access Components 2.5 SP2
  • Microsoft Data Access Components 2.6

This article was previously published under Q306441

问题的发生

当我们用 ActiveX Data Objects (ADO) 和Open DataBase Connection(ODBC)试图连接到一个MS Access数据库时,可能会返回如下错误消息:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] Couldn't lock file.
发生的原因
以上这条错误消息的产生,是因为你没有对MS Access数据库创建lock file (.ldb)文件的权限。系统默认是,lock file (.ldb)的创建是在一个被看作是Microsoft Access .mdb 文件的同一目录下。
解决方法
按以下步骤进行:
1、准许访问数据库的用户(通常是IUSR_<computername> account)对这个共享文件夹完全支配。
2、由于lock file (.ldb)文件往往是被设置为只读(read-only),所以,在共享往往是被受限制的。那么,我们可以试着使用以下这段示范代码来改变连接方式:
   Set Conn = Server.CreateObject("ADODB.Connection")
   Conn.Mode = adModeShareDenyWrite    '8
   
   ' 在 Adovbs.inc中的定义
   '---- ConnectModeEnum Values ----
   'Const adModeUnknown = 0
   'Const adModeRead = 1
   'Const adModeWrite = 2
   'Const adModeReadWrite = 3
   'Const adModeShareDenyRead = 4
   'Const adModeShareDenyWrite = 8
   'Const adModeShareExclusive = &Hc
   'Const adModeShareDenyNone = &H10
参考书目
要想了解更多,请点击以下连接:

174943 PRB: 80004005 "Couldn't Use '(unknown)'; File Already in Use"

183060 INFO: Troubleshooting Guide for 80004005 and Other Error Messages


- 作者: 辛亚平 2005年01月2日, 星期日 00:20 加入博采

Trackback

你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=480736

评论内容: