本人在做一个连接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://www.cnblogs.com/jory/archive/2013/01/12/2857932.html
https://www.kafan.cn/edu/84505296.html
多一种方法,多一种可能,即使有些方法并不是我Bug良药,感谢,受教!