Инструкция по подключению 1С к IBM DB2 с помощью внешнего источника данных.

Краткая инструкция по работе с внешними источниками данных — подключение 1C к IBM DB2 с помощью внешнего источника данных через ODBC драйвер.

 

Инструкция подключения 1С к IBM DB2 через ODBC драйвер

  1. Установить драйвер IBM DB2 на ПК который будет подключаться к серверу
  2. Создаем новый источник данных ODBC. Для этого необходимо зайти в Панель управления –Администрирование – Источники ODBC

 

  1. Создаем  Пользовательский  DSN (можно Системный, тогда подключение будет доступно для всех пользователей).  

  1. Выбираем ранее установленный драйвер IBM DB2

 

  1. Прописываем настройки подключения к серверу СУБД
  2. Нажимаем на кнопку «Соединиться». Проверяем соединение. Если соединение успешно установлено, тогда выйдет сообщение. Если нет, тогда будет ошибка с описанием проблемы.

  1. После успешного соединения:
    1. Создаем новый источник данных в 1С
    2. Прописать строку подключения в 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.УстановитьСоединение();
УстановленноСоединение = Истина;
Сообщить("+ Установленно соедиение с сервером -"+Сервер+", база -"+База+".", СтатусСообщения.Информация);
Исключение
Сообщить("- Соединение не установленно. "+ ОписаниеОшибки(), СтатусСообщения.Важное);
КонецПопытки;

4 Comments

  1. awk

    А зачем создавать пользовательский/системный DSN?

    Reply
  2. RomaLut

    (1) это нужно для того чтобы определить имя базы данных которое используется ODBC, чтобы обращаться к информации, необходимой для доступа к данным.

    Reply
  3. awk

    (2) RomaLut, Круто. Я всю жизнь считал, что он нужен, для того, что бы один раз настроить подключение и использовать во всех приложениях, но… 😉 Видимо он еще хороший пример того, как увеличить статью используя красивые картинки. Прости, если обидел. Но смысловая нагрузка в статье начинается со слов:

    Создаем новый источник данных в 1С
    Reply
  4. user693892_nnmakarov

    Может я что-то недопонимаю, но мне для подключение к базам через драйвер ODBC (например, Firebird или MSSQL) никаких пользовательских DSN не нужно было. Достаточно правильно сформировать строку подключения и вуаля — соединение установлено. ЧЯДНТ?

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *