未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”/Microsoft.ACE.OLEDB.12.0”提供程序

背景:

最近在使用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

属性界面截图
VS2013的属性界面

二:根据项目的平台使用对应的Provider

           在APPConfig里面,可以修改对应的配置信息即可。

标黄的就是FE提供的程序版本
​​​​

三:重新生成项目即可!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章