目录
问题描述:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序
原因分析: Provider和平台版本(32位or64位)
问题:最近在使用winform的DataGridView绑定Access数据库文件,遇到未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序 和 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序 的 问题。网上百度,很多都是答非所问,还有就是不明就里的碰运气解决了问题。
原因: 使用的Provider和平台版本未匹配
VS的EF对平台为32位的提供是Microsoft.Jet.OLEDB.4.0程序,连接数据库文件。
为 64位提供的是Microsoft.ACE.OLEDB.12.0程序,连接数据库文件。
解决办法:
一:确定软件要开发的版本是32位还是64位
在项目属性->生成 里面找到目标平台,由AnyCpu改为对应的CPU
二:根据项目的平台使用对应的Provider
在APPConfig里面,可以修改对应的配置信息即可。
Provider=Microsoft.Jet.OLEDB.4.0或者Provider=Microsoft.ACE.OLEDB.12.0