2

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

我正在使用以下系统版本:

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

我试过以下:

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

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

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

提到的图片包含在这里:

微软办公专业增强版 2010

版本:14.0.4760.1000(32 位)

4

4 回答 4

4

如果你安装了 Office 32 位,那么你需要在机器上安装 Access Database Engine 2010 64 位,但是安装它有一个技巧。请参阅此处了解“被动”参数: Microsoft Access Database Engine 2010 Redistributable

于 2011-09-22T07:31:41.420 回答
0

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

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

编辑:您正在使用 32 位办公室...应该与 32 位驱动程序一起使用。那就无视这个帖子。

于 2011-09-22T07:26:21.227 回答
0

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

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

于 2011-09-22T07:36:27.187 回答
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

希望这可以帮助...

于 2011-09-22T06:17:20.753 回答