[英]Solve “Microsoft.ACE.OLEDB.12.0” provider issue without installing “Microsoft Access Database Engine”
[英]Microsoft Office 12.0 Access database engine OLE DB Provider
系统:Windows 10 64 位
安装的程序:
C# 和 Access 数据库之间的连接不成功。
错误信息:
Microsoft Office 12.0 Access 数据库引擎 OLE DB 提供程序。
如何在不卸载 Microsoft Access Database Engine 2010 32bit 的情况下成功连接?
一些事情:您提到您有 office x64 位,但您没有提到或注意该版本的 office 是否包含 Access - 可能没有。 您还提到您安装了 Access x32 位。 那么最大的问题是您希望将 .net 应用程序作为 x32 还是 x64 运行?
默认情况下,如果您的 .net 项目是“任何 CPU”或 x86,那么您的代码将作为 x32 运行,因此从 Access 2010 安装的 x32 位版本的 ACE 应该可以工作 - 但前提是您为 .net 选择的 CPU 是“任何”或 x86。
如果您需要或想要使用 x64 位进程? 好吧,您必须从 office 安装 ACE/office 连接包。 事实上,即使您的办公室安装包括 Access 2016 或 2019,您仍然必须安装 ACE 数据引擎。 对于 2010 年,您不需要单独安装 ACE,但对于 2016 年及更高版本,您必须单独安装 ACE。
还请记住,如果您以 x64 位强制和运行 .net 项目,那么 Visual Studio 内部的测试连接将失败,因为它是一个 x32 位进程。 (VS 是一个 x32 位程序 - 因此您可以在 VS 中使用连接构建器,但测试连接将失败 64 位,但运行该程序(即使作为调试)将以 x64 位运行,您应该/可以使用 ACE x64 位如果它已安装。所以请记住,对于 x64 位,VS 内部的“测试”连接将不起作用。但运行代码会。
如前所述,如果您尝试使用 x32 位,则将您的 VS 项目强制为 x86,然后进行测试。 Access 2010 ACE 应该可用。 如果不是,那么我将对 2010 安装进行修复-安装更高版本的 office 可能已损坏或弄乱了它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.