新聞中心
本人在windows 2008 r2 x64版本的操作系統(tǒng)中通過OLEDB提供程序連接訪問Excel2007/2003時(shí),程序會(huì)報(bào)如下錯(cuò)誤:

創(chuàng)新互聯(lián)建站專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、鄂州網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場(chǎng)景定制、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為鄂州等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
System.InvalidOperationException: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
查找資料認(rèn)為產(chǎn)生此種錯(cuò)誤的原因有兩種:
1、在Windows2008r2 x64 OS,在沒有裝Office2007客戶端時(shí),或沒有安裝“數(shù)據(jù)連接組件”。
2、當(dāng)前Web應(yīng)用程序的應(yīng)用程序池是64位的Sharepoint應(yīng)用程序池下時(shí),因?yàn)樘峁┻B接Excel的provider不支持當(dāng)前64版本的操作系統(tǒng)。
解決方法:
1方案:安裝MS的數(shù)據(jù)連接組件AccessDatabaseEngine(或安裝office 2007客戶端),并將當(dāng)前承載通過oledb提供程序去訪問Excel2007的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客戶端。
3方案:若目標(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。
本文就介紹到這里,希望能對(duì)您有所收獲!
當(dāng)前文章:OLEDB連接訪問Excel2007錯(cuò)誤的三種解決方案
本文鏈接:http://www.dlmjj.cn/article/djdssed.html


咨詢
建站咨詢
