2008-12-08 16 views
9

我需要更新一个excel模板。使用ASP.NET的Excel ODBC和64位服务器

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

我使用下面的代码来访问Excel文件:如果应用程序池设置为启用32位应用程序代码工作预期

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

;但是我使用的oracle驱动程序因为只有64位而失败。

如果启用32位应用程序设置为false Excel的代码失败,出现错误:

Data source name not found and no default driver specified

有什么建议?

回答

0

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

该链接上的(当前)最新帖子: MSDN Forum详细描述了一个繁琐而丑陋的解决方法。如果您愿意,您也可以用COM暴露程序集替换Windows服务。尽管如此,仍然很丑。 :)

+0

人们似乎现在到2010 Office系统驱动程序测试版解决这个问题:数据连接组件 – 2010-03-31 14:40:11

-1

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

+1

坚持微软提供的64位环境可能会更好。 – 2010-03-25 22:40:15

+2

同意。 MS在2010年提供了驱动程序。 – 2011-10-04 14:33:42

2

还有2010 Office系统驱动器测试版:数据连接组件 Link这也使我们从64位环境中打开Excel 2007中(XLS)。

This download will install a set of components that can be used by non-Microsoft Office applications to read data from Microsoft Office 2010 Beta files

我们的连接字符串

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

如果您安装了32位版本的Office,它会在尝试安装时给您一条错误消息。但是,如果你使用命令行中的`/ passive`标志来执行它,它将会并排安装。 – CuppM 2011-11-02 19:22:06