博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转载]未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序。
阅读量:4692 次
发布时间:2019-06-09

本文共 2866 字,大约阅读时间需要 9 分钟。

其实,这种错误的可能性有几种,比如:

1.没有安装数据访问组件,需要安装相应版本的数据访问组件;

2.没有安装相应版本的Office客户端,需要安装相应版本的Office客户端;

3.Microsoft.Jet.OLEDB.4.0在64位系统上不支持,需要修改架构,从x64改为x86,无论是WinForm还是ASP.NET;或者修改连接字符串为Microsoft.ACE.OLEDB.12.0并且安装AccessDatabaseEngine x64数据访问组件;

4.没有在IIS应用程序池配置默认属性,需要在相应的IIS应用程序池启用32位应用程序;

下面是我收集整理的一些解决方案。

 

 

【错误】:未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.InvalidOperationException: 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序。

下载Microsoft 2007 Office System 驱动程序:数据连接组件安装

概述

此下载将安装一组组件,非 Microsoft Office 应用程序可以使用它们从 2007 Office system 文件中读取数据,例如从 Microsoft Office Access 2007(mdb 和 accdb)文件以及 Microsoft Office Excel 2007(xls、xlsx 和 xlsb)文件中读取数据。这些组件还支持与 Microsoft Windows SharePoint Services 和文本文件建立连接。

此外,还会安装 ODBC 和 OLEDB 驱动程序,供应用程序开发人员在开发与 Office 文件格式连接的应用程序时使用。

系统要求

支持的操作系统: Windows Server 2003 Service Pack 1, Windows Vista, Windows XP Service Pack 2

    • 此下载适用于以下 Office 程序:
      • 2007 Microsoft Office system
使用此下载:
  1. 如果您是应用程序用户,请查阅应用程序文档以获得有关如何使用相应的驱动程序的详细信息。
  2. 如果您是使用 OLEDB 的应用程序开发人员,请将 ConnectionString 属性的 Provider 参数设置为“Microsoft.ACE.OLEDB.12.0”如果您是使用 ODBC 连接到 Microsoft Office Access 数据的应用程序开发人员,请将连接字符串设置为“Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=path to mdb/accdb file”
    • 如果要连接到 Microsoft Office Excel 数据,请将“Excel 12.0”添加到 OLEDB 连接字符串的扩展属性中。
  3. 如果您是使用 ODBC 连接到 Microsoft Office Excel 数据的应用程序开发人员,请将连接字符串设置为“Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=path to xls/xlsx/xlsm/xlsb file”

详情与下载:
Microsoft Access Database Engine 2007 Office system 驱动程序:数据连接组件
 
Microsoft Access Database Engine 2010 Redistributable
 
本文来自cnblogs:

 

 
【错误】:访问Excel 2007 出错,未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序。
 
场景描述:

windows 2008 r2 x64版本的操作系统中通过oledb提供程序连接访问Excel2007/2003时,程序会报如下错误:

System.InvalidOperationException: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.

此查找资料认为产生此种错误的原因有两种:

1、在Windows2008r2 x64 OS,在没有装Office2007客户端时,或没有安装“数据连接组件”

2、当前Web应用程序的应用程序池是64位的Sharepoint应用程序池下时,因为提供连接Excelprovider不支持当前64版本的操作系统

解决方案:

方案1:

安装MS的数据连接组件AccessDatabaseEngine(或安装office 2007客户端),并将当前承载通过oledb提供程序去访问Excel2007Web application对应的应用程序池“启用兼容32位应用程序”,

在对应的 IIS 应用程序池中,“设置应用程序池默认属性”右击/“高级设置”/"启用32位应用程序",设置为 true

方案2:

安装AccessDatabaseEngine_64版并且要安装64位版的office 2010客户端

方案3:

若目标应用程序不能将应用程序池"启用兼容32位应用程序",只能在64位应用程序池下运行,且又想有上传Excel的功能,可按如下方式:

a、创建Asp.net WebService application 程序,并通过WebService来连接访问Excel

b、将此webservice application的应用程序池按方案1方式设置“启用兼容32位应用程序”。

c、在目标应用程序中添加此webservice

 

本文来自cnblogs:

 

 
【错误】:“/”应用程序中的服务器错误 未在本地计算机上注册“microsoft.Jet.oledb.4.0”提供程序。

今天我把系统换成了64位版的Windows7,结果配完IIS打开网站测试的时候,顿时菊花一紧:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。

 

查了半天发现是IIS跑在64位环境下引起的。而64位下,是木有Access数据库的驱动的(包括Excel也不行)。

解决办法是:在目标网站的应用程序池中选择高级设置,然后将启用32位应用程序设置为true,重启IIS即可!

本文来自汪东杰博客:


 本文经cnblogs VAllen收集整理而成:

转载于:https://www.cnblogs.com/VAllen/articles/OfficeOleDbConnection.html

你可能感兴趣的文章
495. 提莫攻击 Teemo Attacking
查看>>
374. 猜数字 Guess Number Higher or Lower
查看>>
微信公众平台开发教程第5篇-----网页授权获取用户基本信息
查看>>
mysql 与 sqlserver 的不同
查看>>
Codeforces 784B Santa Claus and Keyboard Check
查看>>
MySQL 表的一些操作
查看>>
git命令行(1)
查看>>
8 -- 深入使用Spring -- 4...6 AOP代理:基于注解的XML配置文件的管理方式
查看>>
Ubuntu 16.04服务器 配置
查看>>
随机生成手机号
查看>>
素数与欧拉函数
查看>>
(图)关于边信息的存储
查看>>
flask + Python3 实现的的API自动化测试平台---- IAPTest接口测试平台(总结感悟篇)...
查看>>
知识点列表
查看>>
JavaSE 基础语法—三元运算符
查看>>
快速导入Excel数据到mysql
查看>>
编程之美,让美国人科技高速发展,浅谈C语言带给美国的变化
查看>>
Error querying database. Cause: java.lang.IllegalArgumentException:Failed to decrypt.(错误笔记)...
查看>>
关于Flutter
查看>>
实现页面图片阴影特效,jsp,asp,sql,php,mysql,server,apache,iis,tomcat,oracle,java,linux,dns
查看>>