2011-01-21 76 views
1

我用下面的代碼來設置我的本地計算機上的連接字符串了Office 2007,SQL Server 2008中:ACE OLEDB 12.0和XLSX問題

string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + MapPath(Request.ApplicationPath) + "\\" + excelFolderName + fileName + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\""; 

我的操作系統是Windows 7(64位),我可以毫無問題地閱讀XLSXLSX文件。

我已經將我的項目發佈到MS Server 2003 R2標準版X64中,並遇到一些問題,因爲我沒有安裝ACE OLEDB 12.0,我安裝了「Microsoft Access數據庫引擎2010 Redistributable」,我不是能夠讀取XLS文件。

問題是當我嘗試打開XLSX(即是使用Office 2007創建的),因爲我得到這個錯誤:

External table is not in the expected format

我在做什麼錯?

我不想安裝以前的「Microsoft Access數據庫引擎2007年可再發行組件」,因爲它只有32位版本,迫使我建立我的項目爲32位...

在此先感謝

+0

通過僅使用簡單連接創建項目就會出現相同的錯誤: – RedEagle 2011-01-22 16:29:09

回答

0

我有類似的問題(請參閱我的文章IIS and OLE DB External table is not in the expected format)。我開始認爲ACE有一個嚴重的問題,因爲我的連接字符串是ACE 12.0。

由於您使用的是Excel 2007,因此仍然可以使用Jet,這可能會解決您的問題。如果您使用Excel 2010及更高版本,則必須使用ACE。