我可以用 Delphi 打开 CD 上的 MS access mdb 文件吗

Posted

技术标签:

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

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

这个问题有解决办法吗?

【问题讨论】:

复制到用户的TEMP文件夹并打开!? :-) 【参考方案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 的常量,具有不同的含义? +1, Must Open MDB on Read-Only Media with adShareDenyWrite @Hansup - 这是 ADODB 文档中常量值的名称(嗯,'ado' 是一个错字,它是 'adShareDenyWrite');根据您选择的 ADO 框架,它们可能会有不同的名称。无论如何,我可能只会使用连接字符串选项。

以上是关于我可以用 Delphi 打开 CD 上的 MS access mdb 文件吗的主要内容,如果未能解决你的问题,请参考以下文章

用delphi的哪个组件或者控件可以快捷地实现类似XP--打开我的电脑--左边的 这种界面? 要稳定,

请问用啥软件可以把CD上的音乐转换成无损APE、FLAC格式

Delphi:在没有 Ms Access 的情况下创建 Access DB (.mdb)

怎样用Delphi打开一个Word文档?

怎样用Delphi打开一个Word文档?

delphi 可以打包成免安装的.exe格式的吗