Подключение к PostgreSQL из 1С

postgresql-logoСУБД PostgreSQL весьма популярна среди пользователей, и причина тому — достойное качество при полной бесплатности. Высокая популярность привела к тому, что задачи на тему прямого доступа к базе PostgreSQL из 1С встречаются достаточно часто. Именно о том, как этот доступ организовать и поговорим ниже.

Подготовка

В начале нужно сказать, что все испытания проводились на ОС Windows 7 (64-bit) и Windows 10 (64-bit), а подключения производились к серверу PostgreSQL (64-bit) 9.4.2-1.1C.

Первое, что нам потребуется это установленный драйвер psqlODBC. Установить его можно либо при помощи приложения Stack Builder (которое устанавливается вместе с PostgreSQL):

Stack Builder
Stack Builder

Либо посетив страничку, на которой представлено множество версий нашего драйвера:

psqlODBC
psqlODBC

Важно! Устанавливать нужно именно psqlODBC (32 bit).

С драйвером psqlODBC (64 bit) мне не удалось подключиться к базе данных ни одним способом, ни в одной ОС. Весьма вероятно, что причина этого в моих кривых руках, но что есть, то и пишу.

Так или иначе, после установки правильной версии драйвера у нас есть несколько способов получения данных.

Подключение внешнего источника данных

Подключение базы PostgreSQL в качестве внешнего источника данных является простым и наглядным. Создаем новый внешний источник данных и добавить новую таблицу:

Внешний источник данных. Шаг 1
Внешний источник данных. Шаг 1

Затем указываем строку подключения примерно такова вида:

Driver={PostgreSQL Unicode};Server=host;Port=port;Database=db_name;Uid=user;Pwd=password;STMT=utf8

Внешний источник данных. Шаг 2
Внешний источник данных. Шаг 2

И в результате получаем список таблиц:

Внешний источник данных. Шаг 3
Внешний источник данных. Шаг 3

Отмечу, что при создании внешнего источника данных у меня не получилось использовать пользовательские источники данных, о которых ниже.

Подключение при помощи ADODB

Подключение к базе PostgreSQL и выполнение различных запросов при помощи библиотеки ADOdb выглядит приблизительно так:

При этом есть возможность использовать пользовательский источник данных, который нужно сначала создать. Сделать это можно при помощи приложения ODBC Data Sources (32 бита), которое находится в панели управления (а в Windows 10 в папке «Администрирование» на панели управления). Важно использовать именно 32-х битную версию, так как каждая версия видит только «свои» драйверы. Если же, по какой-либо причине, на панели управления нет этого приложения, то его можно запустить напрямую, оно находится по адресу \Windows\SysWOW64\odbcad32.exe.

Сам процесс создания пользовательского источника данных прост:

Пользовательский источник данных
Пользовательский источник данных

После того как источник создан, протестирован и сохранен можно использовать строку подключения следующего вида:

Driver={PostgreSQL Unicode};data source=P2;STMT=utf8

Еще раз напомню, что вариант строки подключения с пользовательским источником данных не сработал (у меня, по крайней мере) при подключении базы PostgreSQL как внешний источник данных.

На этом все, надеюсь данная статья Вам помогла.

2 комментария к “Подключение к PostgreSQL из 1С

  1. У х64 драйвера постгреса архитектура явно указана в имени т.е. должно быть: Driver={PostgreSQL Unicode(x64)} тогда всё работает

Оставить комментарий