由于MS Access数据库文件在打开.mdb文件时生成一个.ldb锁定文件,所以我得到错误,试图在光盘上运行一个Delphi应用程序,其中的数据库文件也在在CD上。我可以用Delphi打开一个MS访问mdb文件光盘
有没有解决这个问题的方法?
由于MS Access数据库文件在打开.mdb文件时生成一个.ldb锁定文件,所以我得到错误,试图在光盘上运行一个Delphi应用程序,其中的数据库文件也在在CD上。我可以用Delphi打开一个MS访问mdb文件光盘
有没有解决这个问题的方法?
是的。您需要指定您以只读模式打开数据库。你没有具体说明您打开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;
adModeShareDenyWrite防止其他人使用写入权限打开连接;不会使当前会话的连接只读。是adoShareDenyWrite一些德尔福特定的常数,它有不同的含义? – HansUp 2011-05-27 14:22:36
谢谢 - 我会马上测试 – 2011-05-27 14:27:20
+1,[必须使用adShareDenyWrite在只读媒体上打开MDB](http://support.microsoft.com/kb/195475) – 2011-05-27 15:25:09
将其复制到用户的TEMP文件夹并打开它!? :-) – 2011-05-27 13:48:19