2010-11-18 206 views
7

我有以下代碼:找不到可安裝ISAM

string excelConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\db\suc.xls; Extended Properties=""Excel 12.0;HDR=YES;"""; 

// Create Connection to Excel Workbook 
using (OleDbConnection connection = 
      new OleDbConnection(excelConnectionString)) 
{ 
    OleDbCommand command = new OleDbCommand 
      ("Select * FROM [Sheet1$]", connection); 

    connection.Open(); 

,我也得到了以下錯誤:

找不到可安裝ISAM。

at connection.Open()。有任何想法嗎 ?

+0

可能重複[System.Data.OleDb.OleDbException:找不到可安裝ISAM](http://stackoverflow.com/questions/11562267/system-data-oledb-oledbexception-could- not-find-installable-isam) – bummi 2015-07-05 07:30:30

回答

5

有噴氣OLEDB驅動程序沒有64位版本,因此,如果您是在64位操作系統上運行這一點,你可能需要在你的.NET應用程序的目標x86而不是Any CPU

alt text

+8

沒有解決任何問題...... – 2011-04-19 07:47:59

+3

我通過在數據源中加引號來解決了這個問題。在這裏看到答案:http://stackoverflow.com/questions/512143/error-could-not-find-installable-isam/512187#512187 – Charlino 2011-10-15 05:57:24

+4

爲什麼這被標記爲接受的答案? – Josh 2013-01-09 15:13:58

1

我遇到了這個問題,試圖用更新的提供者打開一個xls文件。 我解決了這個問題,通過改變我的擴展屬性從

Extended Properties="Excel 11.0;" 

Extended Properties="Excel 8.0;" 

我猜的Excel 11期待一個XLSX樣式文件。

14

我有同樣的錯誤,但沒有上述建議工作。在我來說,我不得不做的是我的連接字符串改成這樣:

string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FilePath + ";Extended Properties='Excel 12.0;IMEX=1;'"; 

注意周圍的擴展屬性屬性(「Excel的12.0; IMEX = 1;」)單引號。一旦我添加了這些單引號,錯誤就消失了!

0

使用Extended properties="\excel 8.0;

相關問題