официальный партнёр 1С по деловому софту
Закрыть
Логин:
Пароль:
Забыли свой пароль?
  Войти
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
 
8(495)229-30-42

Настройка связи между mysql и 1С через ODBC

В новой редакции платформы 1С 8.2.14 появилась возможность устанавливать связь с внешними источниками данных. У меня была идея написать программу для прямой работы с базой данных на нашем сайте из 1С:Предприятия 8

По шагам надо сделать следующее:
  • Скачать и установить ODBC драйвер для mysql
  • Настроить доступ и параметры связи с базой данных
  • Прописать необходимые таблицы в конфигураторе
  • Написать обработку которая будет соединяться с базой данных из 1С:Предприятия 8 и выдавать результат запроса.

Поехали...
[spoiler]

1. Скачиваем ODBC коннектор с сайта поставщика mysql.
2. Устанавливаем его на компьютер.
3. Заходим в конфигуратор 1С и добавляем новый внешний источник данных.



4. Добавляем внешнюю таблицу:



5. Указываем режим автоматического формирования списка таблиц



6. Указываем параметры соединения. Пишем руками:

DRIVER={MySQL ODBC 5.1 Driver};
SERVER=192.168.1.10;
DATABASE=bitrix;

и вбиваем логин и пароль для доступа к базе mysql

7. Если все ок, то мы увидим список таблиц из базы данных сайта.



8. Выбираем нужную таблицу галочкой



9. И получаем ее в дереве метаданных.



10. Создаем обработку для тестирования с одной процедурой:
ПараметрыСоединенияССайтомМИКО = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;
ПараметрыСоединенияССайтомМИКО.СтрокаСоединения= "
|DRIVER={MySQL ODBC 5.1 Driver};
|SERVER=192.168.1.10;
|DATABASE=bitrix;
|UID=root;
|PWD=dbpassword_4_user_root;";
ВнешниеИсточникиДанных.СайтМИКО.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединенияССайтомМИКО);
ВнешниеИсточникиДанных.СайтМИКО.УстановитьСоединение();
Запрос = Новый Запрос("ВЫБРАТЬ
                      |   b_stat_browser.Ссылка,
                      |   b_stat_browser.ID,
                      |   b_stat_browser.USER_AGENT
                      |ИЗ
                      |   ВнешнийИсточникДанных.СайтМИКО.Таблица.b_stat_browser КАК b_stat_browser");
Таблица = Запрос.Выполнить().Выгрузить();


Тут необходимо понимать что в обработке надо обязательно заново прописывать параметры соединения с внешней базой данных, они не хранятся в конфигурации.

11. Ставим точку останова на конец процедуры и запускаем обработку в режиме предприятия.

12. Profit :)



p.s. мы получили данные из внешней таблицы mysql средствами языка 1С. Что самое интересное, внешние таблицы доступны в конструкторе запроса.

upd: как можно изменять данные через ODBC я написал в этом посте.
Фото: