0

我正在开发使用 Access 数据库(MDB 格式)运行的 Delphi 7 应用程序。它在我的 PC 和其他一些 PC 上运行良好。但是在某些机器上,有时应用程序在尝试访问数据库时会出错,例如“未知数据库格式 (mdb)”。此外,我注意到一件事:当您使用 Office 在 Ms Access 中打开该数据库时,由于某种原因,它以“只读”模式打开。有人可以帮忙吗?问题的原因可能是什么?

4

5 回答 5

2

自从我在 Delphi 中编程已经有很长时间了,但我记得我在安装不同版本的 MDAC 时遇到了问题。比较可以工作的电脑和不工作的电脑的版本。

于 2009-10-22T13:01:28.450 回答
1

如果数据库文件(mdb 文件)实际上设置为只读(例如,如果它是从 CD 复制的),我会收到该错误消息。检查 Windows 资源管理器中的文件属性并确保该文件不是只读的。

此外,您是否尝试过在 Access 中进行压缩和修复,因为 Access 数据库经常损坏,并且此选项通常会导致各种问题。

于 2009-10-22T13:56:52.493 回答
1

MDB 为哪个版本的 Access 格式化?您是使用 DAO 还是 ADO 来访问数据库。MDB 是 2003 年还是 2007 年?我怀疑它是 A2007 格式,而您遇到问题的机器安装了 A2003 或根本没有 Access 版本。而工作的机器上确实安装了 A2007。但这只是一个猜测。

您还需要追踪只读问题。

于 2009-10-22T20:48:30.223 回答
1

我认为您最可能的问题是与 MDAC 有关,使用注册表检查每台机器上的版本,看看工作的和不工作的是否存在差异。

于 2009-10-24T07:12:19.393 回答
-1

你说:“它在我的 PC 和其他一些 PC 上运行良好。”

那么听起来你的程序可能没有任何问题。可能是它不会一直运行的 PC 没有安装 Microsoft Office 或至少没有安装 Microsoft Access。他们需要安装 Access 才能使 ADO 工作。

如果没有进一步的线索,机器上的“有时”问题很难诊断。

恐怕我不知道“只读”问题可能是什么。

于 2009-10-23T02:22:30.077 回答