Microsoft Office 12.0 Access 数据库引擎 OLE DB Provider
Posted
技术标签:
【中文标题】Microsoft Office 12.0 Access 数据库引擎 OLE DB Provider【英文标题】:Microsoft Office 12.0 Access database engine OLE DB Provider 【发布时间】:2019-12-12 17:39:58 【问题描述】:系统:Windows 10 64 位
已安装的程序:
Visual Studio 2019 MS Office 2019 64 位 Microsoft Access 数据库引擎 2010 32 位C# 和 Access 数据库之间的连接不成功。
错误信息:
。
如何在不卸载 Microsoft Access Database Engine 2010 32bit 的情况下成功连接?
【问题讨论】:
在 Build-Configuration Manager 中将 Active Solution Platform 更改为 x86 您的连接字符串可能正在使用 ACE。因此,您需要将连接字符串更改为正确的 Office 版本。 ACE 驱动器是 ADO.NET,由于使用了错误的连接字符串,它没有找到驱动程序。 12.0 是 Office 2010,16.0 是 Office 2019。 不,当我安装 microsoft access database engine 2010 64bit 时连接成功,我需要用 microsoft access database engine 2010 32bit 成功 为什么您需要 32 位版本的 Provider,因为正如您所说,64 位版本已经可以使用?请注意,您不能同时安装 32 位和 64 位的 Provider 的保存版本,但您可以拥有 2 个不同位数的不同 Provider。 这能回答你的问题吗? Choice "microsoft office 12.0 Access database engine OLE DB Provider" I don't find it in crystal report 【参考方案1】:有几点: 你提到你有office x64位,但你没有提到或注意那个版本的office是否包含Access——它可能没有。 您还提到您安装了 Access x32 位。那么最大的问题是您希望将 .net 应用程序作为 x32 还是 x64 运行?
默认情况下,如果您的 .net 项目是“ANY CPU”或 x86,那么您的代码将以 x32 运行,因此从 Access 2010 安装的 x32 位版本的 ACE 应该可以工作 - 但前提是您的 CPU 选择为 . net 是“ANY”或 x86。
如果您需要或想要使用 x64 位进程?好吧,您必须从办公室安装 ACE/office 连接包。事实上,即使您的办公室安装包括 Access 2016 或 2019,您仍然必须安装 ACE 数据引擎。对于 2010 年,您不需要单独安装 ACE,但对于 2016 年及更高版本,您必须单独安装 ACE。
另外请记住,如果您将 .net 项目强制运行为 x64 位,那么 Visual Studio 内部的测试连接将失败,因为它是 x32 位进程。 (VS 是一个 x32 位程序 - 因此您可以在 VS 中使用连接构建器,但测试连接将失败 64 位,但运行程序(即使作为调试)将以 x64 位运行,您应该/可以使用 ACE x64 位如果它已安装。所以请记住,对于 x64 位,VS 内部的“测试”连接将不起作用。但运行代码会。
如前所述,如果您尝试使用 x32 位,则将您的 VS 项目强制为 x86,然后进行测试。 Access 2010 ACE 应该可用。如果不是,那么我将对 2010 安装进行修复 - 它可能已被安装更高版本的 office 损坏或弄乱了。
【讨论】:
我的项目“任何 cpu”但不工作这是个问题以上是关于Microsoft Office 12.0 Access 数据库引擎 OLE DB Provider的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft Office 12.0 Access 数据库引擎 OLE DB Provider
SQL Server 2008 R2 中缺少 Microsoft Office 12.0 Access 数据库引擎 OLE DB 提供程序?
sqlserver 2005 访问接口中没有microsoft.ACE.OLEDB.12.0
“Microsoft.ACE.OLEDB.12.0”尚未注册