нестыковка через ADODB.Connection

  • metrohinslava
    Статус: оффлайн
    0
     #
    Обновили платформу до свежей версии.
    В серверную базу подгружаются данный из базы excel.
    Подключаясь к Excel происходит ошибка при вызове метода контекста (Open):
    Произошла исключительная ситуация (Microsoft JET Database Engine): Непредвиденная ошибка драйвера внешней базы данных (1).
    Смотреть вложение о сбое. Если знаете пишите, если нет, не беда. Спасибо.
  • metrohinslava
    Статус: оффлайн
    0
     #
  • rorozini
    Статус: оффлайн
    1
     #
    Пробуйте такие параметры Provider=Microsoft.ACE.OLEDB.12.0; Extended Properties="Excel 12.0; HDR=NO; IMEX=1;"
    Установите если еще нет, вот такой дистрибьютив: www.microsoft.com/en-us/download/details.aspx?id.. , и альтернативное решение восстановить xls онлайн через сервис excel.recoverytoolbox.com/online/ru/
  • rorozini
    Статус: оффлайн
    0
     #
    Попробуй еще вариант:
    Функция ПолучитьКоннектExcel( пИмяФайла, пВызватьИсключение = Ложь ) Экспорт

    лРез = Новый COMОбъект("ADODB.Connection");
    СтрокаПодключения = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " + пИмяФайла + "; Extended Properties = ""Excel $ver$.0;HDR=NO;IMEX=1"";";
    СтрокаПодключения12 = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " + пИмяФайла + "; Extended Properties=""Excel 12.0 Xml;HDR=No;IMEX=1"";";
    СтрокаПодключенияACE = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " + пИмяФайла + ";Extended Properties=""Excel 12.0;HDR=NO;IMEX=1;""";

    Попытка
    лРез.Open(СтрокаПодключения12);
    Возврат лРез;
    Исключение
    ОписаниеОшибки = ОписаниеОшибки();
    КонецПопытки;

    Попытка
    лРез.Open(СтрокаПодключенияACE);
    Возврат лРез;
    Исключение
    ОписаниеОшибки = ОписаниеОшибки();
    КонецПопытки;

    Для Версия = 8 По 15 Цикл
    //подключение к источнику данных
    ТекСтрокаПодключения = СтрЗаменить(СтрокаПодключения, "$ver$", Строка(Версия));
    Попытка
    лРез.Open(ТекСтрокаПодключения);
    Возврат лРез;
    Исключение
    ОписаниеОшибки = ОписаниеОшибки();
    КонецПопытки;
    КонецЦикла;

    Если пВызватьИсключение Тогда
    лТекстОшибки = ОписаниеОшибки;
    лФайл = Новый Файл( пИмяФайла );
    Если ВРег( лФайл.Расширение )=".XLSX" Тогда
    лТекстОшибки = лТекстОшибки + Символы.ПС + "Сохраните загружаемый файл в формате MS Excel 97-2003 (*.XLS) и попробуйте выполнить загрузку снова.";
    КонецЕсли;
    ВызватьИсключение( лТекстОшибки );
    Иначе
    Возврат Неопределено;
    КонецЕсли;

    КонецФункции
B
i
u
Спойлер