没有注册Microsoft.Jet.OLEDB.4.0提供商

本文关键字:提供商 OLEDB Jet 注册 Microsoft | 更新日期: 2023-09-27 18:09:32

嗨,我在上传文件类型。xls时遇到了这样的问题" excel文件中的错误:'Microsoft.Jet.OLEDB.4.0'提供程序未在本地机器上注册。"

我使用的系统版本如下:

  1. 64位操作系统(Windows 7).
  2. 32位Office,我附上了截图。
  3. 在c#中尝试这些。aspx页面。

我试过如下:

  1. 下载32位和64位的Microsoft.Jet.OLEDB.4.0http://www.microsoft.com/download/en/details.aspx?displaylang=en& id = 13255 .

  2. 尝试IIS编辑应用程序池>高级设置>启用32位应用程序:True.

但是他们两个都不适合我。有人有什么想法吗?

包含这里提到的图像:

Microsoft Office Professional Plus 2010

版本:14.0.4760.1000(32位)

没有注册Microsoft.Jet.OLEDB.4.0提供商

如果您安装了Office 32位,那么您需要在机器上安装Access Database Engine 2010 64位,但是安装它有一个技巧。查看此处关于"被动"参数:Microsoft Access Database Engine 2010 Redistributable

您需要在您的(目标)机器上安装Microsoft Access Database Engine Redistributable,并且应该相应地更改连接字符串。

参考以下链接:

http://blogs.msdn.com/b/farukcelik/archive/2010/06/04/accessing-excel-files-on-a-x64-machine.aspx

http://www.microsoft.com/download/en/details.aspx?id=13255

OleDB没有任何64位驱动程序(我知道这很烦人),32位驱动程序与64位操作系统不兼容AFAIK

http://social.msdn.microsoft.com/forums/en gb/netfx64bit/thread/d2d33cfd ed81 - 490 a - 906 e - b9e29d572b59

编辑:你正在使用32位的office…这应该适用于32位驱动程序。

默认情况下,. net程序被编译为任何CPU,在运行时被翻译为64位。对于64位,默认没有安装驱动程序。

一个常见的解决方案是为x86显式编译,使程序使用32位OLEDB。