web-dev-qa-db-ja.com

インストール可能なものが見つかりませんでした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が見つかりませんでした。

connection.Open()で。何か案は ?

8
Alex

Jet OLEDBドライバーの64ビットバージョンはないため、64ビットOSでこれを実行している場合は、x86ではなく.NETアプリケーションでAny CPUをターゲットにする必要があります。

alt text

5
Darin Dimitrov

同じエラーが発生しましたが、上記の提案はいずれも機能しませんでした。私の場合、私がしなければならなかったのは、接続文字列を次のように変更することだけでした。

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

拡張プロパティ属性( 'Excel 12.0; IMEX = 1;')を一重引用符で囲んでいることに注意してください。それらの一重引用符を追加すると、エラーは消えました!

18

最近のプロバイダーでxlsファイルを開こうとすると、この問題が発生していました。拡張プロパティをから変更することでこの問題を修正しました

Extended Properties="Excel 11.0;"

Extended Properties="Excel 8.0;"

Excel11はxlsxスタイルのファイルを想定していると思います。

2
squig

64ビットWindowsおよび64ビットOffice(2010、2013)環境では、このエラーに関する多くの報告があります。修正または回避策は少し奇妙ですが、そこにいるほとんどの人にとってはうまくいくようです。

" Microsoft Accessデータベースエンジン2010再頒布可能パッケージ "インストールパッケージは自然に使用できるようですが、いくつかのレポートでは機能しないとのことです。

代わりに、「 2007 Office System Driver:Data Connectivity Components 」を使用すると、ほとんどの人にとって上記の問題が解決するようです。

1
Giridhar

使用する Extended properties="\Excel 8.0;

0
ASKA