【发布时间】:2010-08-21 12:54:19
【问题描述】:
我有一个程序可以将 Excel 中的数据导入数据集。要连接到 Excel,我使用以下代码...
return new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" +
fileName + "; Jet OLEDB:Engine Type=5;"+ "Extended Properties=\"Excel 8.0;\"");
我刚买了一台装有 Excel 2010 的新电脑,现在连接尝试失败并抛出异常说 The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine
这是因为新版本的 Excel 需要不同的连接字符串吗?有人遇到过这种情况吗?
编辑: 实际上,我只是在某处读到使用 System.Data.OleDbClient 类甚至不需要在计算机上安装 Excel。所以我的问题可能与 Excel 无关,而是与 Microsoft.Jet 工具有关。我的电脑运行的是 Windows7 64 位。不应该已经安装了吗?
【问题讨论】:
-
您使用的是 64 位 Windows 吗?没有 64 位版本的 Microsoft.Jet.OLEDB 提供程序。 social.msdn.microsoft.com/Forums/en/netfx64bit/thread/…
-
是的 Windows 7 64 但我将目标平台更改为为 x86 构建。
-
如何确定我是否拥有 32 位版本的 OLEDB 提供程序?
-
有一个64位版本的ACE(Access 2010)驱动可以免费下载:microsoft.com/downloads/…
标签: c# excel oledb oledbconnection