码迷,mamicode.com
首页 > 数据库 > 详细

”未在本地计算机上注册“microsoft.et.OLEDB.4.0”提供程序。“解决方案大集合

时间:2016-08-18 06:25:54      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:

本人在做一个连接Access数据库的时候,程序扔给我一个如此Bug——“未在本地计算机上注册“microsoft.et.OLEDB.4.0”,

请教度娘,告诉我可能是如下因素:

一.“设置应用程序池默认属性”/“常规”/”启用32位应用程序”,设置为 true。"如图:(适用于安装IIS7.0用户)

技术分享

偶的不是网站,臣妾办不到,Next

二.方法二:生成->配置管理器->平台->点击Any Cpu选项卡->新建->新建平台->X86。 如下图所示:

技术分享

改过还是木有用哦!go on

三.我的Excel是office2007,而“microsoft.et.OLEDB.4.0”,仅适合2007以下的版本,将原来的连接字符串:OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=E:\\Works\\CurrentWork\\database\\IDCardReadDb.mdb;");改成:OleDbConnection cn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=E:\\Works\\CurrentWork\\database\\IDCardReadDb.mdb;");接下来它又抛出了下了“它兄弟“的模样,"未在本地计算机上注册‘microsoft.et.Jet.12.0‘",哎哟,真是叫谁干活,谁就反抗呀!

Pass:确保前提如下:

1.Microsoft.Jet.OLEDB.4.0不要写成Miscrosoft.Jet.OLEDB.4.0,; 
2.Data Source不要写成“Data Sourse”, 
3.检查是否安装了Office 
4.重新安装注册MDAC28.exe (一般你的vs安装目录里有或者到微软的官方网站上下) 

我虽安装了AccessDatabaseEngine.exe,但我的电脑是64位的不放心,又从网上下了一个AccessDatabaseEngine(64).exe,错误目标转移了,如图:

技术分享

原来我的office默认安装的是32位的,只得卸载,然后从新安装AccessDatabaseEngine(64).exe,通过,继续安装office,成功!

记住:一定要安装好Access哦!

最后附上相关资源吧!

AccessDatabaseEngine(64).exe下载:

http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe

参考论文:

http://www.cnblogs.com/jory/archive/2013/01/12/2857932.html

https://www.kafan.cn/edu/84505296.html

多一种方法,多一种可能,即使有些方法并不是我Bug良药,感谢,受教!

 

”未在本地计算机上注册“microsoft.et.OLEDB.4.0”提供程序。“解决方案大集合

标签:

原文地址:http://www.cnblogs.com/HappyGirlGo/p/5782491.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!