Строка подключения 1С к СУБД PostgreSQL

Как в 1С обратиться к внешнему источнику данных, который таится в недрах СУБД? Ответ на этот вопрос начинается с подключения в 1С к этому источнику данных через интерфейс COM-объекта. В этой статье рассмотрим подключение с помощью интерфейса ADODB. Свои попытки мы будем осуществлять с СУБД PostgreSQL.

 

Строка подключения

Подключение клиента 1С к серверу любой СУБД осуществляется при помощи строки подключения. У каждой СУБД они немного отличаются.

Рассмотрим, какие же параметры содержит в себе строка подключения:

Параметр Описание параметра Значение параметра
DRIVER Драйвер СУБД ODBC PostgreSQL Unicode
Data Source Источник данных PostgreSQL35W
SERVER Имя сервера СУБД srv1
PORT Номер порта сервера СУБД 5432
DATABASE Имя БД parser
UID Имя пользователя СУБД sauser
PWD Пароль пользователя СУБД ********

С этими параметрами строка подключения будет выглядеть так:

DRIVER={PostgreSQL Unicode}; Data Source=PostgreSQL35W; SERVER=srv1; PORT=5432; DATABASE=parser; UID=sauser; PWD=qwerty

 

Настройки сервера СУБД

Перед тем, как соединяться с БД, необходимо настроить сервер СУБД PostgreSQL. Это делается так:

 1. Идём в меню Пуск — Панель управления — Система и безопасность – Администрирование.

 2. Выбираем пункт «Источники данных ODBC» (64- или 32-разрядная версия в зависимости от разрядности архитектуры клиента и сервера).2016-11-14_13-53-20

 3. На вкладке «Драйверы» должен присутствовать «PostgreSQL ODBC Driver(UNICODE или «PostgreSQL ODBC Driver(ANSI.PostgreSQL ODBC

 4. На вкладке «Системный DNS» должен присутствовать источник данных «PostgreSQL35W». Если такого источника данных нет, его нужно добавить, прописав: имя используемой БД, сервер, имя пользователя и пароль. Если СУБД PostgreSQL установлена на этом же компьютере, то сервер должен иметь имя «localhost».Системный DNS

5. Чтобы протестировать созданное соединение, в окне источника данных нажимаем кнопку «Test». После удачного тестирования появляется окно.

2016-11-14_14-01-14

 6. Если всё прошло удачно, сохраняем результат, нажимаем кнопку «Save».

 

Функции подключения 1С

Теперь для того, чтобы подключить 1С Предприятие к СУБД PostgreSQL, можно использовать следующие готовые функции:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Функция ОткрытьПодключение(СтрокаКоннекта, ТаймАут) Экспорт
 
	Соединение = Новый COMОбъект("ADODB.Connection");
    Соединение.ConnectionTimeOut = Число(ТаймАут);
 
	Попытка
        Соединение.Open(СтрокаКоннекта);
    Исключение
        Сообщить(ОписаниеОшибки(), СтатусСообщения.ОченьВажное);
        Возврат Неопределено;
	КонецПопытки;
 
	Возврат Соединение;
КонецФункции
 
Процедура ЗакрытьПодключение(Соединение) Экспорт
 
	Попытка
		Если Соединение <> Неопределено Тогда 
			Соединение.Close();
		КонецЕсли;
	Исключение
        Сообщить(ОписаниеОшибки(), СтатусСообщения.ОченьВажное);
	КонецПопытки;
 
	Соединение = Неопределено;
 
КонецПроцедуры;

Как обратиться к внешней СУБД? Пишем в модуле 1С такую конструкцию:

1
2
3
4
СтрокаСоединения = "DRIVER={PostgreSQL Unicode}; Data Source=PostgreSQL35W; SERVER=srv1; PORT=5432; DATABASE=parser; UID=sauser; PWD=qwerty";
Соединение = ОткрытьПодключение(СтрокаСоединения, 120);
// Обращение к БД 
ЗакрытьПодключение(Соединение);

Обработку для тестирования соединения с БД можно скачать ниже по ссылке. Обработка сделана как для управляемых форм, так и для обычного интерфейса 1С.

Скачать