c# 程序調試出現“未在本地計算機上注冊“Microsoft.Jet.OLEDB.4.0”提供程序。”


簡單的程序代碼如下:
DataSet ds=new DataSet();
try
{
string strCon = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\test.xls;Extended Properties='Excel 

8.0;HDR=YES;IMEX=1'";
OleDbConnection oleCon = new OleDbConnection(strCon);
oleCon.Open();
OleDbDataAdapter oleDA = new OleDbDataAdapter("select * from [sheet$]", oleCon);
oleDA.Fill(ds);

catch (Exception ex)
{
MessageBox.Show(ex.Message + ex.Source + ex.InnerException);
}
報錯:未在本地計算機上注冊 “Microsoft.Jet.OLEDB.4.0”提供程序。System.Data

需要注意的問題和解決方法:

1.Microsoft.Jet.OLEDB.4.0不要寫成 Miscrosoft.Jet.OLEDB.4.0,;
2.Data Source不要寫成“Data Sourse”,
3.檢查是否安裝了Office
4.重新安裝注冊 MDAC28.exe (一般你的vs安裝目錄里有或者到微軟的官方網站上下)
  http://access911.net/fixhtm/72FABF1E14DC.htm?tt= (這個地址是一個朋友給的)
5.如果是64位平台,也可能出現這種情況;解決方法:生成->配置管理器-> 平台->點擊Any Cpu選項卡->新建->新建平台->X86

-------------------------------

此方法的前提是, 你書寫的 ConnectionString 是正確的, 形如:
Provider=microsoft.Jet.Oledb.4.0;Data Source=;Jet Oledb:Database Password=xxx;

如果此時,提示 “找不到提供者” 或 “未正確安裝”, 原因是JET 4.0的 DLL在注冊表中的信息, 由於某種原因被損壞或丟失,解決方法如下:

開始--->運行, 輸入 regsvr32 msjetoledb40.dll, 回車。

建議重啟一下,問題即可解決。
/////////////////////////////////////////////////

附上:Jet 4.0 Service Pack 8 下載地址
Jet 4.0 Service Pack 8 (SP8) for Windows 95 / 98 / NT 4.0
快速描述
Microsoft Jet 4.0 Service Pack 8 (SP8) 提供對 Microsoft Jet 4.0 數據庫引擎的最新更新。請立即下載,以便獲取整合了 Microsoft Jet 4.0 的 Microsoft 產品使用的幾個文件的最新版本。
http://www.microsoft.com/downloads/details.aspx?FamilyID=4335216c-8cdd-4168-a030-46f815d3f5cd&DisplayLang=zh-cn


免責聲明!

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



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