Не удалось найти устанавливаемый ISAM
у меня есть следующий код :
string excelConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:dbsuc.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()
. Есть идеи ?
5 ответов
нет 64-битной версии драйверов Jet OLEDB, поэтому, если вы используете это на 64-битной ОС, вам может потребоваться target x86
в вашем приложении .NET, а не Any CPU
:
У меня была та же ошибка, но ни одно из предложений выше не сработало. В моем случае все, что мне нужно было сделать, это изменить строку подключения на это:
string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FilePath + ";Extended Properties='Excel 12.0;IMEX=1;'";
обратите внимание на одинарную кавычку вокруг атрибута Extended Properties ('Excel 12.0; IMEX=1;'). Как только я добавил Эти одинарные кавычки, ошибка исчезла!
Я получал эту проблему, пытаясь открыть файл xls с более поздним поставщиком. Я исправил эту проблему, изменив мои расширенные свойства с
Extended Properties="Excel 11.0;"
to
Extended Properties="Excel 8.0;"
Я думаю, Excel 11 ожидает файл стиля xlsx.
в 64-разрядных средах Windows и 64-разрядных средах Office (2010, 2013) существует множество отчетов об этой ошибке. Исправление или обходной путь немного странный, но, похоже, работает для большинства людей.
в "Распространяемый Компонент Microsoft Access Database Engine 2010" пакет установки кажется естественным для использования, но несколько отчетов говорят, что он не работает.
вместо этого, используя "2007 Драйвер Системы Office: Компоненты Подключения К Данным" кажется чтобы решить эту проблему для большинства людей.