System.InvalidOperationException: The 'Microsoft.ACE.OLEDB.14.0' provider is not registered on the local machine.
此查找資料認(rèn)為產(chǎn)生此種錯(cuò)誤的原因有兩種:
1、在Windows2008r2 x64 OS,在沒有裝Office2010客戶端時(shí),或沒有安裝“數(shù)據(jù)連接組件”
2、當(dāng)前Web應(yīng)用程序的應(yīng)用程序池是64位的,而提供連接Excel的provider不支持當(dāng)前64版本的操作系統(tǒng)
解決方法:
1方案:
安裝MS的數(shù)據(jù)連接組件AccessDatabaseEngine(或安裝office 2010客戶端),并將當(dāng)前承載通過oledb提供程序去訪問Excel2010的Web application對(duì)應(yīng)的應(yīng)用程序池“啟用兼容32位應(yīng)用程序”,
在對(duì)應(yīng)的 IIS 應(yīng)用程序池中,“設(shè)置應(yīng)用程序池默認(rèn)屬性”右擊/“高級(jí)設(shè)置”/"啟用32位應(yīng)用程序",設(shè)置為 true。
2方案:
安裝AccessDatabaseEngine_64版并且要安裝64位版的office 2010客戶端
下載地址:http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=c06b8369-60dd-4b64-a44b-84b371ede16d
注意這種情況的,不要設(shè)置“啟用32位應(yīng)用程序”
若目標(biāo)應(yīng)用程序不能將應(yīng)用程序池"啟用兼容32位應(yīng)用程序",只能在64位應(yīng)用程序池下運(yùn)行,且又想有上傳Excel的功能,可按如下方式:
a、創(chuàng)建Asp.net WebService application 程序,并通過WebService來連接訪問Excel。
b、將此webservice application的應(yīng)用程序池按方案1方式設(shè)置“啟用兼容32位應(yīng)用程序”。
c、在目標(biāo)應(yīng)用程序中添加此webservice。
————————————————
版權(quán)聲明:本文為CSDN博主「lilinrui_ruirui」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/lilinrui_ruirui/article/details/82015788