• 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

  • 相关阅读:
    elastic
    原生js获取css样式和修改css样式
    React项目开发中的数据管理
    js获取鼠标位置
    闭包
    HTML5与HTML4的区别
    JSON 相关
    RESTful Web Services初探
    IE6浏览器兼容问题及部分解决方案
    关于Doctype
  • 原文地址:https://www.cnblogs.com/ChineseMoonGod/p/5461514.html
Copyright © 2020-2023  润新知