OLEDB连接访问Excel2007错误的三种解决方案

数据库
本文主要介绍了OLEDB连接访问Excel2007/2003出错的解决方案,希望能对您有所帮助。

本人在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应用程序池下时,因为提供连接Excel的provider不支持当前64版本的操作系统。

解决方法:

1方案:安装MS的数据连接组件AccessDatabaseEngine(或安装office 2007客户端),并将当前承载通过oledb提供程序去访问Excel2007的Web 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。

本文就介绍到这里,希望能对您有所收获!

【编辑推荐】

  1. SQL Server数据库分区表的应用实例
  2. 简单介绍一下SQL Profiler的过滤设置
  3. Oracle数据库Shared Pool优化过程详解
  4. 简单介绍一下关系型数据库的设计思路
  5. SQLite数据库限制返回行数和别名的代码实例解析
责任编辑:赵鹏 来源: 博客园
相关推荐

2024-08-07 08:21:05

2010-09-30 14:40:45

2020-08-20 20:51:17

打散算法打散法原算法

2020-03-31 16:13:26

分布式事务方案TCC

2015-10-21 14:23:08

反模式持续部署自动化运维

2010-09-10 12:59:33

DIV嵌套CSS

2009-03-02 09:05:37

2023-08-01 07:42:33

Redis数据项目

2018-08-21 09:03:00

SQLServer服务器

2010-03-26 18:41:51

Nginx 502错误

2010-09-25 15:15:32

2010-08-13 15:08:55

Flex数据访问

2010-09-13 12:19:03

2017-07-03 18:24:39

MySQL数据冗余

2022-07-22 20:00:01

高可用路由

2022-03-22 10:24:48

Linux开源Elasticsea

2021-02-15 16:15:50

PythonExcel模块

2010-05-24 11:00:18

2022-08-02 13:56:37

C开发段错误

2010-10-22 14:20:35

SQL SERVER连
点赞
收藏

51CTO技术栈公众号