Microsoft.ACE.OLEDB.12.0'提供程序未在本地计算机上注册。
和
Microsoft.JET.OLEDB.4.0的提供程序未在本地计算机上注册。
对我来说都是错误。在尝试创建Access连接时,我一直在尝试两种方法。我不确定该怎么办。
我在64位计算机上有32位办公室。我在他们说要安装Access数据库引擎的地方找到了解决方案,但它不允许我在32位办公室中安装64位。提到的另一个绕过此问题的消息源可以进入命令行执行,$> AccessDatabaseEngine_X64.exe /passive
但被动不被识别为命令。
我找到了另一个潜在的解决方案,该解决方案要求先下载Office系统驱动程序和组件,然后再将访问数据库添加为源,但这也不起作用。我的想法不多了,如果有人可以提供帮助,将不胜感激。
我所指文章的链接:
如果您已经安装了32位Office,那么您几乎就只能使用Access数据库引擎的32位版本(也称为“ ACE”)。正如您所发现的,据推测,有一种方法可以将64位ACE强制置于已经具有32位Office组件的计算机上,但是就我个人而言,我不会“去那儿”。
因此,您需要将C#项目配置为以32位运行。您可以通过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.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句