【问题标题】:OLEDB JET error in Vista & Windows 7, not in XPVista 和 Windows 7 中的 OLEDB JET 错误,而不是 XP
【发布时间】:2010-07-18 14:27:36
【问题描述】:

我在 Windows XP 上使用 VS2008 编写了一个应用程序,并生成了一个 .EXE 文件。

此应用程序只能在 Windows XP 操作系统上运行。它在 Vista 和 Windows 7 上失败。

它给出了一个错误,指出发生了 Microsoft OLEDB JET 4.0。

我在这个应用程序中使用 Microsoft Access 作为数据库。

我该怎么办?

【问题讨论】:

  • 错误信息肯定不止于此。你能给出确切的错误信息吗?

标签: c# windows ms-access oledb jet


【解决方案1】:

如果您的应用程序是为“任何 CPU”构建的,并且您在 Windows 7 和 Vista 的 x64 变体下运行,那么请尝试将您的构建配置设置为 x86(即 32 位变体)。据我所知,Access 没有 x64 驱动程序。

祝你好运

【讨论】:

  • 2010版Access有64个驱动:microsoft.com/downloads/…
  • 对不起,我不明白。你的意思是当我想在vista或7中运行应用程序时,我必须安装与每个操作系统相关的Jet 4.0?
  • 并非如此。首先:您是否在 Windows 7/Vista 的 x64 变体下运行。如果是这样,那么您有两个选择:1)构建 32 位 CLR(可能是最简单的路线)或 2)安装 x64 驱动程序以供访问(来自 Remou 提供的链接)。如果您在 32 位操作系统上运行,那么我的答案(或 cmets)都不适用。
  • 看起来 Moleski 是对的。看到另一个问题stackoverflow.com/questions/1735392/…
【解决方案2】:

access 数据库在哪里:在Program Files 中吗?在这种情况下,您可能是 suffering from virtualization - 在 Windows Vista 和 7 上,操作系统不允许您写入 Program Files,因此它会静默地将您重定向到另一个目录。

【讨论】:

  • 我按照你说的做了,但是没用,出现同样的错误:Microsoft Jet 4.0 OLEDB is not registered in local machine.
  • 自 Windows 2000 发布以来,即 10 多年前,Programs 文件夹一直不是用户可写数据的合适位置。用户可写数据属于用户个人资料,不属于其他任何地方。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-20
  • 1970-01-01
  • 2011-10-30
  • 2011-03-08
  • 1970-01-01
  • 2011-08-31
  • 2011-04-18
相关资源
最近更新 更多