Excel ODBC和64位服务器

使用ASP.NET我需要更新一个Excel模板。

我们的服务器在64位模式下运行Windows 2008。

我正在使用下面的代码来访问Excel文件:

... string connection = @"Provider=MSDASQL;Driver={Microsoft Excel Driver (*.xls)};DBQ=" + path + ";"; ... 

如果应用程序池设置为启用32位应用程序,则代码按预期工作; 但是我使用的oracle驱动程序因为只有64位而失败。

如果启用32位应用程序设置为false,则Excel代码将失败,并显示以下错误:

数据源名称未find,没有指定默认驱动程序

有什么build议么?

微软Office团队刚刚发布了一个64位驱动程序

微软在2008/04/04发布了一个64位OLEDB FOR ODBC http://www.microsoft.com/downloads/details.aspx?FamilyID=000364db-5e8b-44a8-b9be-ca44d18b059b&DisplayLang=en

现在你应该能够运行一切64位,你可以尝试一下,让我们知道结果,我个人认为微软应该发布一个64位的Jet Oledb 4.0,如果开发团队没有时间这样做,然后把它放在codeplex.com并让其他程序员去做。

还有2010 Office System Driver Beta:数据连接组件 链接 ,它允许我们从64位环境打开Excel 2007(XLS)。

此下载将安装一组可供非Microsoft Office应用程序用于从Microsoft Office 2010 Beta文件读取数据的组件

我们的连接string

 @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " + filePath + ";Extended Properties=\"Excel 12.0;HDR=YES;\"" 

没有64位发布的办公室驱动程序。

这个链接上的(当前)最后一篇文章: MSDN论坛详细讨论了一个繁琐而丑陋的解决方法。 如果您愿意的话,您也可以用COM暴露的程序集replaceWindows服务。 仍然丑陋。 🙂

安装32位Oracle驱动程序并启用32位应用程序?