Инструкция подключения 1С к IBM DB2 через ODBC драйвер
- Установить драйвер IBM DB2 на ПК, который будет подключаться к серверу
- Создаем новый источник данных ODBC. Для этого необходимо зайти в Панель управления –Администрирование – Источники ODBC
- Создаем Пользовательский DSN (можно Системный, тогда подключение будет доступно для всех пользователей).
- Выбираем ранее установленный драйвер IBM DB2
- Прописываем настройки подключения к серверу СУБД
- Нажимаем на кнопку «Соединиться». Проверяем соединение. Если соединение успешно установлено, тогда выйдет сообщение. Если нет, тогда будет ошибка с описанием проблемы.
- После успешного соединения:
- Создаем новый источник данных в 1С
- Прописать строку подключения в 1С, для внешнего источника. Строку приходится прописывать вручную. На момент написания инструкции «конструктор внешних источников 1С» не корректно работает с IBM DB2
(DRIVER={IBM DB2 ODBC DRIVER};DSN=baza;HOSTNAME=localhost;DATABASE=BAZA)
!!!! Обязательно указать в строке HOSTNAME=localhost или другой хостнэйм т.к. конструктором не сформируется, но как оказалось это обязательный параметр.
ВАЖНО: Для того чтобы начали проходить запросы к СУБД нужно выполнить принудительное подключение к источнику, для этого выполнить следующий код:
// Установим соединение с Базой (настройки пользователь вводит сам)
Сервер = СокрЛП(Константы.БиллингНазваниеСервера.Получить());
База = СокрЛП(Константы.БиллингНазваниеБазы.Получить());
Пользователь = СокрЛП(Константы.БиллингПользователь.Получить());
Пароль = СокрЛП(Константы.БиллингПароль.Получить());
пСоед = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;
пСоед.СтрокаСоединения = "DRIVER={IBM DB2 ODBC DRIVER};SERVER="+Сервер+";UID="+Пользователь+";PWD="+Пароль+"; HOSTNAME=localhost; DATABASE="+База;
Попытка
ВнешниеИсточникиДанных.EPS.УстановитьОбщиеПараметрыСоединения(пСоед);
ВнешниеИсточникиДанных.EPS.УстановитьСоединение();
УстановленноСоединение = Истина;
Сообщить("+ Установленно соедиение с сервером -"+Сервер+", база -"+База+".", СтатусСообщения.Информация);
Исключение
Сообщить("- Соединение не установленно. "+ ОписаниеОшибки(), СтатусСообщения.Важное);
КонецПопытки;