VB2012应用连接Access数据库提示Microsoft.ACE.OLEDB.12.0未注册如何解决
你提供的purchases表单业务代码无逻辑问题,该报错属于运行环境配置类错误,和代码本身无关,具体原因和解决办法如下:
错误产生原因
- 本地设备未安装
Microsoft.ACE.OLEDB.12.0对应的驱动组件:该驱动由Microsoft Access Database Engine提供,未安装该组件时程序调用Access数据库接口会直接抛出找不到驱动的错误。 - 项目编译目标平台与驱动位数不匹配:若你安装了32位的ACE驱动,但VB项目编译时选择了64位目标平台,或安装了64位驱动但项目编译为32位,两者位数不匹配也会触发该报错。
- Office版本与驱动位数冲突:若本地已安装32位版本的Office,默认无法安装64位的ACE驱动,反之同理,也会导致驱动无法正常注册。
解决办法
- 安装对应驱动:下载安装Microsoft Access Database Engine 2010 Redistributable,安装时选择与本地Office版本位数一致的安装包;若未安装Office,选择与你项目目标编译平台一致的位数即可。
- 调整项目编译配置:打开Visual Basic 2012的项目界面,依次点击菜单栏「生成」→「配置管理器」,将活动解决方案平台调整为和已安装ACE驱动一致的位数,32位对应选择
x86,64位对应选择x64,不要使用Any CPU配置。 - 冲突场景适配:如果出现Office与驱动位数冲突无法安装驱动的情况,要么卸载现有Office更换对应位数的版本,要么直接将项目编译目标平台改为与现有Office位数一致的配置即可。
内容的提问来源于stack exchange,提问作者Prince
相关产品推荐
相关产品推荐

