Microsoft.ACE.OLEDB.12.0'提供程序未在本地计算机上注册。
和
Microsoft.JET.OLEDB.4.0'提供程序未在本地计算机上注册。
对我来说都是错误。我在尝试创建Access连接时一直在尝试。我不知道该怎么做了。
我在64位机器上有32位的办公室。我找到了他们说安装Access数据库引擎的解决方案,但它不会让我安装64位32位办公室。另一个提到绕过它的来源你可以进入命令行并执行$> AccessDatabaseEngine_X64.exe /passive
但被动不被识别为命令。
我发现另一个可能的解决方案,即下载Office系统驱动程序和组件,然后将访问数据库添加为源,但这也无效。如果有人可以提供帮助,我会非常感激。
指向我所指的文章的链接:
答案 0 :(得分:2)
如果您已经安装了32位Office,那么您几乎就会遇到32位版本的Access数据库引擎(a.k.a。“ACE”)。正如您所发现的那样,有一种方法可以将64位ACE强制到已经有32位Office组件的计算机上,但我个人不会“去那里”。
因此,您需要将C#项目配置为以32位运行。您可以通过在项目的Properties:
的Build选项卡上选择Platform: x86
来实现
(该截图是在32位虚拟机上进行的,因此默认配置已经是32位.64位计算机上的默认设置应为“任何CPU”。)
要验证进程运行的环境,可以使用
String.Format("I am running as {0}-bit.", IntPtr.Size * 8)
例如,在Windows窗体应用程序中,您可以使用
MessageBox.Show(String.Format("I am running as {0}-bit.", IntPtr.Size * 8));
那应该显示
I am running as 32-bit.
答案 1 :(得分:0)