【发布时间】:2011-05-27 13:38:49
【问题描述】:
由于 MS Access 数据库文件在 .mdb 文件打开时生成一个 .ldb 锁定文件,因此尝试在 CD 上运行 Delphi 应用程序时出错,其中数据库文件也在 CD 上。
这个问题有解决办法吗?
【问题讨论】:
-
复制到用户的TEMP文件夹并打开!? :-)
由于 MS Access 数据库文件在 .mdb 文件打开时生成一个 .ldb 锁定文件,因此尝试在 CD 上运行 Delphi 应用程序时出错,其中数据库文件也在 CD 上。
这个问题有解决办法吗?
【问题讨论】:
是的。您需要指定以只读模式打开数据库。您没有指定打开 Access 数据库的方式,但例如,如果您使用 ADODB COM 对象,您将在您的 ADODB Connection 对象中执行以下操作:
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;
【讨论】: