Найти тему
itlocate

Настройка соединения 1С 8.2/8.3 с базой данных MySQL

Оглавление

В данной статье я не буду подробно расписывать как писать обработку для 1С чтобы приконнектиться к MySQL. У меня уже была обработка и я столкнулся с проблемой именно из-за отсутствия драйвера.

ПУНКТ 1. ПРОБЛЕМА

При переезде на другой сервер столкнулся со следующей проблемой (Произошла исключительная ситуация Microsoft OLE DB Provider for ODBC Drivers): не работал обмен 1С с внешней базой данных MySQL. Оно то и правильно что не работал. Он не должен, ведь я не установил ODBC Connector MySQL и как следствие при попытке обмена видел ошибку (у вас наверняка что-то подобное выползает на экран, если вы сюда попали гугля аналогичную проблему 😉)

{ОбщаяФорма.СР_ФормаОбменСВнешнейБазой.Форма(84)}: Ошибка при вызове метода контекста (Open)
Соединение.Open();
по причине:
Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию

ПУНКТ 2. КАКАЯ ВЕРСИЯ MYSQL ODBC ANSI DRIVER НУЖНА?

И так. У нас для решения проблемы с подключением 1С 8.2/8.3 к промежуточной базе MySQL нам нужен, как я уже писал выше, ODBC Connector MySQL! И не простой, а именно тот, что у нас прописан в модуле обмена. Идём в Конфигуратор 1С, находим там модуль в котором прописано подключение и смотрим какой же чудесный драйвер и какой версии используется для подключения к внешней базе данных! И о чудо - это MySQL ODBC 5.3 ANSI Driver! В моём случае, конечно у вас он может быть другой версии.

Функция ОткрытьСоединение()

Сервер="
127.0.0.1";
БазаДанных="
MySQLdbname";
Пользователь="
sa";
Пароль="
P@ssW0rD123!";

Соединение = Новый COMОбъект("ADODB.Connection");
СтрокаСоединения = "Provider=MSDASQL;DRIVER={
MySQL ODBC 5.3 ANSI Driver};SERVER="+Сервер+";DataBase="+БазаДанных+";UID="+Пользователь+";PWD="+Пароль+";";
Соединение.ConnectionString = СтрокаСоединения;
Соединение.Open();
Возврат Соединение;

Подчёркнутое заменить на своё 🙂

ПУНКТ 3. УСТАНОВКА MYSQL ODBC ANSI DRIVER

Но всё это чудо не будет работать собственно без драйвера, так что идём по этой ссылке и скачиваем себе драйвер подходящей версии и разрядности. Копируем на сервер и устанавливаем его. Думаю с этим у вас проблем не возникнет, а если будут, то дальше можете не читать 🙂.

ПУНКТ 4. НАСТРОЙКА СОЕДИНЕНИЯ 1С 8.2/8.3 С ВНЕШНЕЙ БАЗОЙ ДАННЫХ MYSQL

Дальше нам понадобится программа odbcad32. Её устанавливать не нужно, она у вас уже есть! Ищите её в Администрированиеили Ctrl + R odbcad32 Enter

Для 32 битных систем программа расположена:

%windir%\system32\odbcad32.exe

А для 64 битных систем программа лежит тут:

%windir%\syswow64\odbcad32.exe

Но и ту и другую вы можете открыть из Администрирование в панели управления.

Панель управления - Администрирование
Панель управления - Администрирование

Переходим во вкладку Системный DSN и жмем кнопку Добавить... выбираем MySQL ODBC 5.3 ANSI Driver или какой у вас там версии коннектор. Готово. После чего переходим в настройки, выделяем системный источник данных и кликаем Настройка.... Тут совсем всё просто, даже писать не буду, подставляете свои данные

И конечно стоит разок протестировать сединение — прожать кнопку Test дабы убедиться что вы всё вписали верно. Если вы увидите сообщение: "Connection Successful", жмите ОК и можете спать спокойно.

-3

ПУНКТ 5. ПАРУ СЛОВ В ЗАКЛЮЧЕНИЕ

Действительно тут нет ничего сложного, однако решил записать, так как дело это нехитрое и если ты не занимаешься настройкой соединения базы 1С с внешней MySQL базой данных каждый день, то через N месяцев ты успешно можешь забыть всю процедуру и будешь заново гуглить. Я записал для себя, но если это пригодится и тебе, то будет просто здорово! Спасибо что дочитал до конца. А то обычно пользователи только успешно копипастят куски кода и ничего не читают 😒 !