解决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