【问题标题】:Can I open a MS access mdb file on CD with Delphi我可以用 Delphi 打开 CD 上的 MS access mdb 文件吗
【发布时间】:2011-05-27 13:38:49
【问题描述】:

由于 MS Access 数据库文件在 .mdb 文件打开时生成一个 .ldb 锁定文件,因此尝试在 CD 上运行 Delphi 应用程序时出错,其中数据库文件也在 CD 上。

这个问题有解决办法吗?

【问题讨论】:

  • 复制到用户的TEMP文件夹并打开!? :-)

标签: delphi ms-access


【解决方案1】:

是的。您需要指定以只读模式打开数据库。您没有指定打开 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;

【讨论】:

  • adModeShareDenyWrite 阻止其他人打开具有写入权限的连接;不会将当前会话的连接设为只读。 adoShareDenyWrite 是不是一些特定于 Delphi 的常量,具有不同的含义?
  • @Hansup - 这是 ADODB 文档中常量值的名称(嗯,'ado' 是一个错字,它是 'adShareDenyWrite');根据您选择的 ADO 框架,它们可能会有不同的名称。无论如何,我可能只会使用连接字符串选项。
猜你喜欢
  • 1970-01-01
  • 2010-10-18
  • 2015-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多