2010-11-18 80 views
7

je le code suivant:Impossible de trouver ISAM installable

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(); 

et je reçois l'erreur suivante:

Impossible de trouver ISAM installable.

à connection.Open(). Des idées ?

+0

double possible de [System.Data.OleDb.OleDbException: Impossible de trouver ISAM installable] (http://stackoverflow.com/questions/11562267/system-data-oledb-oledbexception-could- not-find-installable-isam) – bummi

Répondre

5

Il n'y a pas la version 64 bits des pilotes OLEDB Jet, donc si vous utilisez ce sur un système d'exploitation 64 bits, vous pourriez avoir besoin de cibler x86 dans votre application .NET et non Any CPU:

alt text

+8

Je n'ai rien résolu pour moi ... –

+3

J'ai corrigé ce problème en mettant des guillemets autour de la source de données. Voir la réponse ici: http://stackoverflow.com/questions/512143/error-could-not-find-installable-isam/512187#512187 – Charlino

+4

Pourquoi est-ce marqué comme la réponse acceptée? – Josh

1

J'ai eu ce problème en essayant d'ouvrir un fichier xls avec un fournisseur plus récent. Je résolu ce problème en changeant mes propriétés étendues de

Extended Properties="Excel 11.0;" 

à

Extended Properties="Excel 8.0;" 

Je suppose que Excel 11 attend un fichier de style xlsx.

14

J'ai eu la même erreur, mais aucune des suggestions ci-dessus n'a fonctionné. Dans mon cas, tout ce que je devais faire était de changer ma chaîne de connexion à ceci:

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

Notez la citation unique autour de l'attribut Propriétés étendues (« Excel 12.0; IMEX = 1; »). Une fois que j'ai ajouté ces guillemets simples l'erreur a disparu!

0

utilisation Extended properties="\excel 8.0;