未在本地計算機上註冊“Microsoft.Jet.OLEDB.4.0”提供程序

 未在本地計算機上註冊“Microsoft.Jet.OLEDB.4.0”提供程序(導入Excel文件報錯)

出現該問題的原因:Jet項目已經停止,64位的系統不支持Jet

解決方法:採用ACE的方式,具體如下:

1. 修改連接字符串

原始:OleDbConnectionconn = new OleDbConnection("Provider = Microsoft.Jet."+ "OLEDB.4.0; Data Source =" + path + ";" + "Extended Properties=Excel 8.0");

改爲:OleDbConnectionconn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";" + "Extended Properties=\"Excel 12.0;IMEX=1;HDR=YES;\"");

(只做第1步更改,運行程序還會報錯:未在本地計算機上註冊“Microsoft.ACE.OLEDB.12.0”提供程序)

2. 安裝Microsoft Access 數據庫引擎

(1)2007 Office system 驅動程序 http://www.microsoft.com/zh-CN/download/details.aspx?id=23734

支持的操作系統:Windows Server 2003 Service Pack 1, Windows Vista, Windows XP Service Pack 2
此下載適用於以下 Office 程序:2007 Microsoft Office system

(2)Microsoft Access 2010 數據庫引擎 http://www.microsoft.com/zh-CN/download/details.aspx?id=13255

支持的操作系統:Windows 7, Windows 8, Windows Server 2003, Windows Server 2003 Service Pack 1, Windows Server 2003 Service Pack 2, Windows Server 2008 R2, Windows Server 2008 Service Pack 2, Windows Vista Service Pack 1, Windows XP Service Pack 2只有 32 位 Access 數據庫引擎可在 Windows XP Service Pack 3 上使用

 

注:本人使用的操作環境:64 win7+office2007c# winForm開發),選擇的 22)中的數據庫引擎,在安裝過程中遇到以下問題。我採用的解決方法是:將提示中列出的幾項Microsoft Office Enterprise 2007等刪除,刪除後再安裝數據庫引擎,安裝成功(導入Excel問題解決)。之後依然安裝之前的office2007,安裝過程中出現問題忽略,繼續安裝,安裝完畢後,office能正常使用。

wKiom1MqkNmzdQxtAAFi5rNvTSs770.jpg

 

還有一種方案是採用 x86方式運行(由於項目限制,我嘗試此方法無效,有興趣的可以試試)

1. 目標平臺改爲:x86

wKioL1MqkUnA4NpwAAE4OAFSqpI590.jpg

 

2. IIS設置啓用32位應用程序

wKiom1MqkXCA5plkAAFSCLSaGkw705.jpg

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章