1. ovadia 14.11.17 18:37 Сейчас в теме

Как подключиться к Excel через ADODB.Connection (Ошибка)

Подскажите, пожалуйста, как починить ошибку:

Не удалось подключиться к файлу DataList {ВнешняяОбработка.XBRLConverter_v01.Форма.Форма.Форма(47)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (ADODB.Connection): Не удается найти указанный поставщик. Вероятно, он установлен неправильно.


Код такой (варианты строки подключения выдают такую же ошибку):

ФайлБД = "C:\data\enumerator\DataList.xls";

        СтрокаПодключения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+ФайлБД+";Extended Properties=""Excel 8.0;HDR=Yes; IMEX=1;""";
	//СтрокаПодключения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+ФайлБД+";Jet OLEDB:Engine Type=5;"; 
	//СтрокаПодключения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +ФайлБД+";Persist Security Info=False;";
	//СтрокаПодключения = "Driver={Microsoft Excel Driver (*.xls)};Dbq=" + СокрЛП(ФайлБД) + ";";
	//СтрокаПодключения = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= "  + СокрЛП(ФайлБД) + ";Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;""";
	
	Connection = Новый COMОбъект("ADODB.Connection");
	Connection.ConnectionString = СтрокаПодключения;

	Попытка
		Connection.Open();
	Исключение
		Сообщить ("Не удалось подключиться к файлу DataList " + ОписаниеОшибки());
		Возврат;
	КонецПопытки;
Показать


Установка пакета Data Connectivity Components https://www.microsoft.com/en-us/download/confirmation.aspx?id=23734 не помогает.
Ответы
Избранное Подписка Сортировка: Древо
2. antz 14.11.17 18:45 Сейчас в теме
И что у вас в строке подключения? У меня такое получилось:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Файл;Extended Properties="Excel 8.0;HDR=Yes; IMEX=1;"

Зачем к строке приплюсовывать объект? Плюсуйте путь.
3. ovadia 14.11.17 18:57 Сейчас в теме
(2) Сделал так. Ошибка не уходит.

ФайлБД = "C:\data\enumerator\DataList.xls";
СтрокаПодключения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+ФайлБД+";Extended Properties=""Excel 8.0;HDR=Yes; IMEX=1;""";
4. antz 14.11.17 20:15 Сейчас в теме
(3) а если путь в кавычки?

Попробуйте собрать строку подключения через файл с расширением udl
5. a30v 14.11.17 20:48 Сейчас в теме
Какая версия ODBC для Excel установлена (32 и 64 разрядная)? Можно посмотреть в Панель управления - Администрирование - Источниках данных ODBC - Драйверы.
6. DarkUser 14.11.17 21:14 Сейчас в теме
ADODB должен быть той же разрядности, что и контекст, с которого происходит вызов.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 60 000 руб. до 110 000 руб.
Полный день

Программист 1С
Нижний Новгород
зарплата от 120 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Программист 1С
Новосибирск
зарплата от 80 000 руб. до 100 000 руб.
Полный день

Системный аналитик
Новосибирск
зарплата от 80 000 руб. до 100 000 руб.
Полный день