错误:“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:未处理的内部错误