错误: “Microsoft.Ace.OLEDB.12.0”提供程序未在本地计算机上注册
本文关键字:程序 注册 计算机 Microsoft Ace OLEDB 错误 | 更新日期: 2023-09-27 18:35:26
>我有C#和MS Access DB(.accdb)的桌面应用程序
我已经安装了"Ms Access Engine",但我面临"错误:'Microsoft.Ace.OLEDB.12.0' 提供程序未在本地计算机上注册"错误。
您需要检查的第一件事是应用程序的构建配置。
-
如果你已经在x86平台下构建了你的项目,那么为了解决您的问题,您应该在机器:
-
要使用"Microsoft.ACE.OLEDB.12.0"提供程序,您必须安装 Microsoft Access 数据库引擎 2010年可再发行组件首先,此安装可在以下位置获得:http://www.microsoft.com/download/en/details.aspx?id=13255 .
安装完成后,尝试运行应用程序(如果)很好地解决了问题,如果没有,请继续执行步骤2。
-
下一步是一个无法解释的解决方法,适用于 Office2010,即使它是 Office 2007 的数据连接组件。 我不太确定为什么这有效,但它确实如此,并且已被证明在几乎所有情况下都有效。您需要安装 2007 Office 系统驱动程序:数据连接组件,此安装可在以下位置获得:http://www.microsoft.com/download/en/confirmation.aspx?id=23734 .
此安装完成后,请尝试运行应用程序,这应该可以解决问题。
-
-
如果您尝试运行在 x64 或 AnyCPU 下构建的应用程序平台,我建议首先验证它是否按预期运行在 x86 平台下。 如果它不在此下运行x86 平台,执行第一部分中的步骤并验证它按预期运行。
我确实读过MS Access驱动程序,包括OLEDB数据库驱动程序仅在 x86 平台下工作,并且在x64 或 AnyCPU 平台。 但这似乎是不正确的。我验证了构建 x86 时我的应用程序是否正在运行,然后我安装了使用被动标志的访问数据库引擎。
- 首先在本地下载文件 您可以下载安装这里: http://www.microsoft.com/en-us/download/details.aspx?id=13255
- 使用带有"/passive"标志的命令提示符进行安装。 在命令提示符运行以下命令:"AccessDatabaseEngine_x64.exe/被动"
这两个步骤之后,我设法在构建后运行我的应用程序x64 或任意 CPU 构建配置。 这似乎解决了我的问题。
注意:步骤的顺序似乎有所不同,因此请相应地遵循。