Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 21.09.2015
Сообщений: 29
1
Другое

Доступ к Excel через ADO - ошибка подключения

16.08.2016, 20:46. Показов 2595. Ответов 4
Метки нет (Все метки)

Здравствуйте!

Возникла необходимость обрабатывать Excel-таблицы SQL запросами.
Вычитал в инете кучу инструкций, как реализовать это через ADO...
У всех вроде всё хорошо и работает, а у меня вот возникает ошибка подключения.

Кидаю на форму ADOConnection, ставлю на кнопку такой код (тут для примера):

Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm5.Button1Click(Sender: TObject);
var strConn :  widestring;
begin
  Open.Execute();
  strConn:='Provider=Microsoft.ACE.OLEDB.12.0;Data Source=' +
  Open.FileName + '; Extended Properties="Excel 12.0 Xml;HDR=YES";';
  AdoConnection1.Connected:=False;
  AdoConnection1.ConnectionString:=strConn;
  AdoConnection1.Open;
end;
И при попытке к таблице подключиться, получаю следующее:

Доступ к Excel через ADO - ошибка подключения


Логика подсказывает, что Дельфе или же системе не хватает какого-то компонента, но какого именно я не знаю, и т.к. не хочу засорять комп лишним, обращаюсь сюда

P.S. Delphi XE8, Windows 10, 64-bit.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.08.2016, 20:46
Ответы с готовыми решениями:

Ошибка при попытке подключения к БД через ADO Connection
Помогите пожалуйста! При попытке подключения к БД через ADO Connection выкидывает следующая ошибка...

Доступ к данным Excel с помощью ADO.NET
Подкиньте плиз примерчик, если кто сталкивался

Доступ к внешней открытой книге через ADO
Воспользовался нижеприведенным кодом одного из профессиональных консультантов нашего форума...

Доступ к базе данных MS Access через ADO
Здравствуйте! Установлено следующее программное обеспечение: 1) Windows 8.1 64-разрядная,...

4
Хитрая блондиночка $)
1466 / 981 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
16.08.2016, 20:50 2
Цитата Сообщение от enselerizer Посмотреть сообщение
Provider=Microsoft.ACE.OLEDB.12.0
А у тебя есть такой провайдер? Какой версии офис? Пробовал сделать подключение
Примеры строк подключения можно подсмотреть тут: http://www.connectionstrings.com/access/
0
0 / 0 / 0
Регистрация: 21.09.2015
Сообщений: 29
16.08.2016, 20:54  [ТС] 3
Спасибо за оперативный ответ!
Офис 2016й, полный.
Насчёт провайдера - я, честно, не знаю, как это работает, и как понять, есть ли он у меня
Я только недавно познакомился с ADO, есть небольшой опыт работы с MS Access через него, но не более.
Буду благодарен если расскажите поподробней, или хотя-бы дадите направление куда копать

А за ссылку спасибо! Почитаю
0
2768 / 1575 / 525
Регистрация: 29.05.2013
Сообщений: 6,831
16.08.2016, 21:17 4
Лучший ответ Сообщение было отмечено enselerizer как решение

Решение

Вы пытаетесь подключится к более новой версии экселя. Для него не подходит стандартный jet-драйвер входящий в поставку Windows. Вам надо скачать и установить отсюда Microsoft Access Database Engine 2010 Redistributable. По идее этой версии должно хватить, но если не откроется, то скачивайте уже сразу для 2016 офиса, но он в 10 раз больше. Чего они там напихали на 300 мб непонятно.
1
0 / 0 / 0
Регистрация: 21.09.2015
Сообщений: 29
17.08.2016, 14:27  [ТС] 5
Огромное спасибо!
Всё заработало
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.08.2016, 14:27

Соединение с Excel через ADO
Добрый день! Выручайте... Нужно через ado открыть Excel. ...

Подключение Excel файла через ADO
Подключаю файл через АДО. Файлы могут быть разные, структура тоже. Так вот, когда я выгружаю данные...

Формат ячейки из Excel в 1С через ADO
Как брать сами данные из Excel через ActiveX Data Object более ли менее понимаю, но может кто точно...

ADO + Excel = ошибка
Читаю данные из таблицы Excel через ADO: Dim cn As ADODB.Connection Set cn = New...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru