AA360连接Excel正常,控制台应用报MICROSOFT.ACE.OLEDB.12.0未注册
解决控制台应用连接Excel时「MICROSOFT.ACE.OLEDB.12.0」未注册的问题
排查方向与解决步骤
确认ACE引擎安装位数与应用环境匹配
尽管你已将控制台应用设为32位运行,但需确保安装的Access Database Engine 2016是32位版本。若此前安装了64位ACE,会与32位应用冲突。卸载现有ACE后,重新下载32位安装包,系统为64位时需用静默参数安装避免与64位Office冲突:AccessDatabaseEngine.exe /passive锁定项目编译的32位配置
右键控制台项目→属性→生成,将「平台目标」设为x86,同时取消勾选「首选32位」(.NET Framework项目),防止运行时自动切换位数。手动验证并注册驱动
打开32位注册表编辑器(C:\Windows\SysWOW64\regedit.exe),检查路径HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\16.0\Access Connectivity Engine\Engines\ACE是否存在。若不存在,手动注册驱动:regsvr32 "C:\Program Files (x86)\Microsoft Office\root\Office16\ACEODBC.dll" regsvr32 "C:\Program Files (x86)\Microsoft Office\root\Office16\ACEOLEDB.dll"替换驱动版本字符串
ACE 2016对应版本号为16.0,部分环境下12.0的别名映射可能异常,尝试将连接字符串中的MICROSOFT.ACE.OLEDB.12.0替换为MICROSOFT.ACE.OLEDB.16.0,示例:string connectionString = @"Provider=Microsoft.ACE.OLEDB.16.0;Data Source=C:\YourExcelFile.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=YES;""";
内容的提问来源于stack exchange,提问作者Rajkumar Yadav
相关产品推荐
相关产品推荐

