“未在本地計算機上注冊“Microsoft.ACE.OLEDB.12.0”提供程序


使用"Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + filePath + ";" + "Extended Properties='Excel 12.0;IMEX=1'"進行連接時,調試程序無報錯但服務器部署后在客戶端無法使用,報錯信息為“未在本地計算機上注冊“Microsoft.ACE.OLEDB.12.0”提供程序問題分析:

1.服務器端沒有裝Office2007客戶端,或沒有安裝“數據連接組件”。  安裝缺失的DatabaseEngine

2.當前Web應用程序的應用程序池是64位的Sharepoint應用程序池,因為提供連接Excelprovider不支持當前64版本的操作系統

右擊解決方案,選擇屬性,打開配置管理器,活動解決方案平台區域選擇新建解決方案平台選擇X86,重新編譯生成程序

打開IIS7的管理器,打開應用程序池區域。在右邊的側邊欄,你會看到一個選項,上面寫着“設置應用程序池的默認”。點擊它,會彈出一個窗口選項。

選中“啟用32位應用程序”,然后重新啟動應用程序池。

 

其他方案:

若目標應用程序不能將應用程序池"啟用兼容32位應用程序",只能在64位應用程序池下運行,且又想有上傳Excel的功能,可按如下方式:

a、創建Asp.net WebService application 程序,並通過WebService來連接訪問Excel

b、將此webservice application的應用程序池按方案1方式設置“啟用兼容32位應用程序”。

c、在目標應用程序中添加此webservice


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM