解决C#中“Microsoft.ACE.Oledb.12.0 is not registered on your local machine”问题

解决C#中“Microsoft.ACE.Oledb.12.0 is not registered on your local machine”问题


前言

在C#中将Excel做为database使用是常用操作。而Microsoft.ACE.Oledb 驱动是必不可少的。但是因为驱动32bit、64bit的问题,踩了坑。记录下来。


一、安装32bit的ACE驱动

驱动下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=54920

问题是,如果曾经误装过64bit的驱动,或者装过64bit的office软件, 会发现32bit的驱动装不上去了。即使卸载了这些软件也还是不行。典型的提示如下:
在这里插入图片描述
解决办法:
在DOS界面下静默安装(加上quiet参数):
accessdatabaseengine.exe /quiet
在这里插入图片描述
参见如下帖子: https://stackoverflow.com/questions/37710776/how-to-install-microsoft-ace-oledb-32-bit-with-office-64-bit添加链接描述

等安装完成(你会感觉到的),到控制面板里查看一下,确实装上了.

二、修改C#项目的代码运行平台

在项目的属性中设置,如果没有设置过,要"新增"平台,选x86
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

成功!!

猜你喜欢

转载自blog.csdn.net/m0_54284125/article/details/122635347