• Windows或SqlServerSSMS:未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序(AccessDatabaseEngine)


    Windows或SqlServerSSMS:未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序(AccessDatabaseEngine)

    环境:Win7、Win10 32位、Win10 64位系统

    说明: C#以 oledb的方式读取excel时,xls格式的文件读取正常,但是xlsx格式的提示错误:未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序 

    解决办法:

    1、下载对应组件安装:https://www.microsoft.com/zh-CN/download/details.aspx?id=13255

         请下载非64位的AccessDatabaseEngine.exe  。

    注意:要选择AccessDatabaseEngine.exe,而不是AccessDatabaseEngine_X64.exe,否则还会提示相同的错误!!!
    (Tips:无论是32位还是64位操作系统和Office位数,都不能使用_X64的AccessDatabaseEngine。使用AccessDatabaseEngine.exe兼容性最好)

    扩展阅读:

    1). VS问题:C#来访问ACCESS或者Excel时,会用到数据库访问的组件,有时候会出现如下图所示的错误,即Microsoft.Jet.OLEDB.4.0,microsoft.ACE.oledb.12.0 provideer is not registered on the local machine.

      解决方法:

     2).  IIS Excel读取

    C#以 oledb的方式读取excel时,xls格式的文件读取正常,但是xlsx格式的提示错误:未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序

      解决方法:

     控制面板-管理工具中打开IIS(如果没有,在控制面板-程序与功能-启用或关闭windows功能-选择IIS功能),IIS中的设置如下:(设置完成后重新启动IIS)

     

    修改连接字符串

    支持xls:strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";

    支持xls和xlsx:strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties="Excel 8.0;HDR=YES"";

    ··

  • 相关阅读:
    Chapter 23: Termination Handlers(2)Understanding Termination Handlers by Example(3)
    Android 3.2 开发环境配置
    基于servlet的文件下载
    jQuery.extend 函数详解
    【推荐】关于JS中的constructor与prototype【转】
    经典代码(01)
    JQuery框架原理模拟实现
    JAVA中的接口和抽象类(转)
    java设计模式之观察者模式
    jquery $.fn $.fx原理
  • 原文地址:https://www.cnblogs.com/05-hust/p/13914685.html
Copyright © 2020-2023  润新知