2008-12-08 45 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