Vista 和 Windows 7 中的 OLEDB JET 错误,而不是 XP
Posted
技术标签:
【中文标题】Vista 和 Windows 7 中的 OLEDB JET 错误,而不是 XP【英文标题】:OLEDB JET error in Vista & Windows 7, not in XP 【发布时间】:2010-07-18 14:27:36 【问题描述】:我在 Windows XP 上使用 VS2008 编写了一个应用程序,并生成了一个 .EXE 文件。
此应用程序只能在 Windows XP 操作系统上运行。它在 Vista 和 Windows 7 上失败。
它给出了一个错误,指出发生了 Microsoft OLEDB JET 4.0。
我在这个应用程序中使用 Microsoft Access 作为数据库。
我该怎么办?
【问题讨论】:
错误信息肯定不止于此。你能给出确切的错误信息吗? 【参考方案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 是对的。看到另一个问题***.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 文件夹一直不是用户可写数据的合适位置。用户可写数据属于用户个人资料,不属于其他任何地方。以上是关于Vista 和 Windows 7 中的 OLEDB JET 错误,而不是 XP的主要内容,如果未能解决你的问题,请参考以下文章
作为开发人员,我应该如何使用 Windows Vista(和 Windows 7)中的特殊文件夹?
在 win xp Vista 和 Windows 7 上保存程序数据的位置
Windows XP 与 Vista/7 上的 MS Crypto API 行为