Ошибка ODBC-драйвера при подключении 1С 64-бит к MySQL: поиск и установка

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При переходе на 64-битную платформу 1С:Предприятие многие сталкиваются с проблемой, когда перестают работать внешние подключения, например, к базам данных MySQL через ODBC. Стандартная ошибка «не установлен драйвер odbc» вводит в заблуждение, ведь драйвер установлен и до перехода все работало отлично. Разберем по шагам, почему возникает эта проблема и как ее решить.

Проанализируем ситуацию: у нас есть работающая интеграция между 1С и сторонним веб-приложением, база данных которого находится на MySQL. Подключение осуществлялось через 32-битный ODBC-драйвер. После обновления платформы 1С до 64-битной версии обработка импорта данных перестала работать, ссылаясь на отсутствие драйвера. Причина такого поведения кроется в несовместимости разрядностей приложений и библиотек.

Причина ошибки: конфликт разрядности 1С и ODBC-драйвера

Основная причина проблемы — фундаментальное ограничение операционной системы: 64-битное приложение (в нашем случае платформа 1С x64) не может использовать 32-битные библиотеки (DLL), и наоборот. Установленный ранее 32-битный ODBC-драйвер для MySQL является именно такой библиотекой. Когда 64-битная 1С пытается к нему обратиться, она его просто "не видит", отсюда и сообщение об отсутствии драйвера.

Переход на 64-битную платформу часто является вынужденной мерой, например, из-за ошибок нехватки оперативной памяти при работе с большими объемами данных или при публикации баз на веб-сервере. Однако этот переход требует проверки и обновления всех внешних компонент, включая драйверы баз данных.

Еще один симптом этой же проблемы — ошибка ODBC №193 (%1 не является приложением Win32), которая прямо указывает на попытку загрузки 32-битной DLL 64-битным процессом.

Шаг 1. Поиск и загрузка 64-битного драйвера MySQL ODBC

Для восстановления работоспособности нам необходимо найти и установить 64-битную версию ODBC-драйвера, совместимую с версией сервера MySQL.

  1. Определяем версию. В первую очередь выясним, какая версия драйвера нам нужна. В рассматриваемом примере в строке подключения был указан MySQL ODBC 5.1 Driver. Это означает, что нам нужно искать драйвер именно этой линейки (например, 5.1.13, как выяснилось в итоге).
  2. Ищем на официальном сайте. Самый надежный источник драйверов — официальный сайт разработчика, в данном случае MySQL. Для старых версий, возможно, придется поискать в разделе архивов (Archives).
  3. Выбираем правильную разрядность. На странице загрузки внимательно ищите версию для 64-битных систем (x64, x86_64 или 64-bit).

Важный момент: Как показывает практика, более новые версии драйверов могут требовать установки дополнительных компонентов, например, распространяемых пакетов Microsoft Visual C++ (вплоть до полной Visual Studio 2019 Redistributable). Это может неоправданно усложнить процесс. Поэтому поиск версии, максимально близкой к исходной 32-битной, является предпочтительной стратегией.

Шаг 2. Установка и настройка драйвера в 64-битной среде Windows

После того как нужный установочный файл (MSI) скачан, приступаем к установке и настройке. Здесь есть критически важный нюанс, на котором ошибаются многие.

  1. Установка. Запустите скачанный установщик 64-битного драйвера. Процесс, как правило, стандартный и не вызывает сложностей.
  2. Настройка через правильную утилиту. Для настройки источников данных (DSN) в Windows есть две версии утилиты "Администратор источников данных ODBC":
    • 64-битная версия: Находится в Панель управления -> Администрирование -> Источники данных (ODBC). Именно ее нужно использовать для настройки драйвера для 64-битной 1С.
    • 32-битная версия: Находится по пути C:\Windows\SysWOW64\odbcad32.exe. Если запустить ее, вы попадете в окружение для 32-битных приложений, и 64-битная 1С не увидит созданные там источники данных.
  3. Проверка установки. Откройте 64-битную версию "Администратора источников данных ODBC" и перейдите на вкладку "Драйверы". Убедитесь, что в списке появился ваш новый 64-битный драйвер (например, `MySQL ODBC 5.1 Driver`). Это подтверждает успешную установку.

Шаг 3. Проверка строки подключения в 1С

Последний этап — убедиться, что 1С использует правильные параметры для подключения. В большинстве случаев менять ничего не придется, если имя нового 64-битного драйвера совпадает с именем старого 32-битного.

Рассмотрим пример строки подключения из исходной темы:


Driver={MySQL ODBC 5.1 Driver};
Server=192.168.1.17;
Uid=express_unload;
Database=akkord;
password=1;
CHARSET=cp1251;
COMPRESSED_PROTO=1

Параметр Driver — ключевой. Его значение должно в точности соответствовать имени драйвера из списка в 64-битном администраторе ODBC. Если имя отличается (например, добавился суффикс "x64"), необходимо внести соответствующие изменения в код 1С, где формируется эта строка.

После выполнения этих шагов подключение из 64-битной платформы 1С к базе данных MySQL должно восстановиться.

В заключение, отметим, что переход на x64 — это не просто обновление платформы, а смена архитектурной среды. Успешность этого перехода зависит от своевременной проверки и обновления всех внешних зависимостей, в первую очередь — драйверов для работы с базами данных.

← На главную