2011-05-27 52 views
5

由于MS Access数据库文件在打开.mdb文件时生成一个.ldb锁定文件,所以我得到错误,试图在光盘上运行一个Delphi应用程序,其中的数据库文件也在在CD上。我可以用Delphi打开一个MS访问mdb文件光盘

有没有解决这个问题的方法?

+6

将其复制到用户的TEMP文件夹并打开它!? :-) – 2011-05-27 13:48:19

回答

14

是的。您需要指定您以只读模式打开数据库。你没有具体说明您打开Access数据库,但是,例如,如果你使用的ADODB COM对象,你会做这样的事情你对你的ADODB连接对象:

conn.Provider := 'Microsoft.Jet.Oledb.4.0'; 
    conn.Mode := adShareDenyWrite; 
    conn.Open('database.mdb'); 

或连接字符串中本身:

conn.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;' + 
     'Data Source=database.mdb;' + 
     'Mode=Share Deny Write'; 
    conn.Open; 
+1

adModeShareDenyWrite防止其他人使用写入权限打开连接;不会使当前会话的连接只读。是adoShareDenyWrite一些德尔福特定的常数,它有不同的含义? – HansUp 2011-05-27 14:22:36

+0

谢谢 - 我会马上测试 – 2011-05-27 14:27:20

+3

+1,[必须使用adShareDenyWrite在只读媒体上打开MDB](http://support.microsoft.com/kb/195475) – 2011-05-27 15:25:09

相关问题