错误:“Microsoft.Ace.OLEDB.12.0”提供程序未在本地计算机上注册 [重复]

Posted

技术标签:

【中文标题】错误:“Microsoft.Ace.OLEDB.12.0”提供程序未在本地计算机上注册 [重复]【英文标题】:Error: The ‘Microsoft.Ace.OLEDB.12.0‘ provider is not registered on the local machine [duplicate] 【发布时间】:2012-05-25 18:07:49 【问题描述】:

我有 C# 和 MS Access DB(.accdb) 中的桌面应用程序

我已经安装了“Ms Access Engine”,但我面临着 “错误:‘Microsoft.Ace.OLEDB.12.0’提供程序未在本地计算机上注册”错误。

【问题讨论】:

1) 您是否拥有与您的应用程序相同的“位”(即 32/64 位)驱动程序版本? 2)安装后尝试重新启动,它不在说明中,但我必须在多台机器上进行才能使其工作。 你看到social.msdn.microsoft.com/Forums/en-US/vstsdb/thread/…了吗? 【参考方案1】:

您需要检查的第一件事是您的应用程序的构建配置。

如果您在 x86 平台下构建了您的项目,那么为了 解决您的问题,您应该在您的 机器:

    要使用“Microsoft.ACE.OLEDB.12.0”提供程序,您必须 安装 Microsoft Access Database Engine 2010 Redistributable 首先,此安装可在以下位置获得: http://www.microsoft.com/download/en/details.aspx?id=13255 。

    安装完成后,尝试运行您的应用程序,如果这样 很好解决问题,如果没有,继续第2步。

    下一步是一个无法解释的解决方法,适用于 Office 2010,尽管它是 Office 2007 的数据连接组件。我不太确定为什么会这样,但确实如此,并且已被证明在几乎所有情况下都有效。您需要安装 2007 Office System 驱动程序:数据连接组件,此安装可在以下位置获得: http://www.microsoft.com/download/en/confirmation.aspx?id=23734.

    此安装完成后,尝试运行您的应用程序,这应该可以解决问题。

如果您尝试运行在 x64 或 AnyCPU 下构建的应用程序 平台,我建议首先验证它是否按预期运行 x86平台下。如果它不在该条件下运行 x86 平台,执行第一部分中的步骤并验证 它按预期运行。

我确实读过 MS Access 驱动程序,包括 OLEDB 数据库 驱动只在x86平台下有效,在x86平台下不兼容 x64 或 AnyCPU 平台。但这似乎是不真实的。一世 验证我的应用程序在构建 x86 时正在运行,然后我 使用被动标志安装了 Access 数据库引擎。

    先下载文件到本地 可以下载安装 在这里:http://www.microsoft.com/en-us/download/details.aspx?id=13255 使用带有“/passive”标志的命令提示符进行安装。 在 命令提示符运行以下命令: 'AccessDatabaseEngine_x64.exe /passive'

经过这两个步骤后,我设法在构建后运行了我的应用程序 x64 或 AnyCPU 构建配置。这似乎解决了我的问题。

注意:步骤的顺序似乎有所不同,因此请遵循。

【讨论】:

以上是关于错误:“Microsoft.Ace.OLEDB.12.0”提供程序未在本地计算机上注册 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Pig 安装错误:错误 pig.Main:错误 2998:未处理的内部错误

Informix 错误:发生了语法错误。错误代码:-201

我收到一个错误:“MetaMask - RPC 错误:错误:错误:[ethjs-rpc] rpc 错误与有效负载”

错误精灵错误跟踪器错误

网页打开显示错误500是啥意思

PHP错误处理