zoukankan      html  css  js  c++  java
  • c# 程序调试出现“未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。”

    简单的程序代码如下:
    DataSet ds=new DataSet();
    try
    {
    string strCon = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E: est.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

  • 相关阅读:
    C#24种设计模式汇总
    传智播客C++视频学习笔记(5)
    传智播客C++视频学习笔记(3)
    传智播客C++视频学习笔记(1)
    Learning hard 网络编程
    Learning hard 学习笔记
    男人和女人 访问者模式
    其实你不懂老板的心 解释器模式
    项目多也别傻做 享元模式
    git常用命令
  • 原文地址:https://www.cnblogs.com/ChineseMoonGod/p/5461514.html
Copyright © 2011-2022 走看看