Microsoft.Jet.OLEDB.4.0提供程序未注册

时间:2011-09-22 06:00:42

标签: c# file-upload xls oledbexception

您好我在上传filetype .xls时遇到这样的问题“excel文件出错:'Microsoft.Jet.OLEDB.4.0'提供程序未在本地计算机上注册。”

我使用以下系统版本:

  1. 64位操作系统(Windows 7)。
  2. 我附有截屏的32位Office。
  3. 在C#中尝试使用.aspx页面。
  4. 我试过以下:

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

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

    3. 但他们两个都没有为我工作。任何人都有想法吗?

      提到的图片的内容在这里:

      Microsoft Office Professional Plus 2010

      版本:14.0.4760.1000(32位)

4 个答案:

答案 0 :(得分:4)

如果您安装了Office 32位,则需要在计算机上安装64位Access数据库引擎,但有一个技巧可以安装它。请参阅此处有关“被动”参数:Microsoft Access Database Engine 2010 Redistributable

答案 1 :(得分:0)

您需要在(目标)计算机上安装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

希望这会有所帮助......

答案 2 :(得分:0)

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

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

编辑:您使用的是32位办公室......应该可以使用32位驱动程序。那么忽略这篇文章。

答案 3 :(得分:0)

默认情况下,.NET程序编译为Any CPU,在运行时转换为64位。对于64位,默认情况下没有安装驱动程序。

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

相关问题