Имя: Пароль:
1C
 
Внешний источник данных 1c к PostgreSQL, Linux
0 spiller26
 
18.04.17
15:25
Как настроить соединение с PostgreSQL в Linux
unixodbc - поставил через
sudo apt-get install tdsodbc unixodbc unixodbc-bin unixodbc-dev odbcinst

В конфе создаю новый "Внешний источник данных"
Данные > + Таблица > Выбрать из списка таблиц внешнего источника данных > Строка соединения:
Driver={PostgreSQL Unicode};Server=NashServak;Port=5432;Database=Base111;Uid=namepostgres;Pwd=****;STMT=utf8
> Использовать стандартную аутентификацию > Пользак и Пароль > [ОК]
Далее выходит ошибка:

Ошибка ODBC SQLSTATE: IM002
Номер ошибки: 0
Описание: [unixodbs][driver manager]data source name not found, and no default driver specified

Всё по Linux на основе ubuntu
1 drcrasher
 
18.04.17
15:59
что-нибудь типа sudo apt-get install postgreodbc попробуй
2 drcrasher
 
18.04.17
16:00
3 spiller26
 
18.04.17
16:13
(1) скорее всего
sudo apt-get install odbc-postgresql
4 spiller26
 
25.04.17
10:58
Вот решение, кому надо и кто наткнется на мой запрос
Linux Ubuntu 64bit

Для организации связки Linux->PostgreSQL, в качестве odbc-драйвера, т.к. организация работает процентов 90 на Linux.

Установим необходимые пакеты:
$ sudo apt-get install tdsodbc unixodbc unixodbc-bin unixodbc-dev odbcinst
$ sudo apt-get install odbc-postgresql

Добавляем строку в конфигурационный файл
$ sudo nano /etc/odbcinst.ini

[PostgreSQL-U]
Description     = PostgreSQL ODBC driver (Unicode version)
Driver          = /usr/lib/x86_64-linux-gnu/odbc/psqlodbcw.so
Setup           = /usr/lib/x86_64-linux-gnu/odbc/libodbcpsqlS.so
Debug           = 0
CommLog         = 1
UsageCount      = 1

Можно забить в поиске и найти путь если что где лежат файлы библиотек psqlodbcw.so и libodbcpsqlS.so

Теперь зоздаем само подключчение
ВнешниеИсточникиДанных
Строка подключения
DRIVER={PostgreSQL-U};Database=BazaTest;Server=IPServer;

BazaTest - Название базы к которой нужно подключиться
IPServer - ip или имя сервера Postgres где лежат базы

Тип СУБД: PostgreSQL
Использовать стандартную аутентификацию = Истина
Имя пользователя: ПользовательPostgres
Пароль: ПарольПользователяPostgres


ждем соединения и выбираем таблицу.

для проверки использовал "Reference128" - Номенклатура

Структуру БД вывел себе в таблицу, чтобы знать имена
Выгрузить структуру можно в таблицу вот так.

&НаСервере
Процедура КакойIDНаСервере()
    
    //ПолучитьСтруктуруХраненияБазыДанных(<ОбъектыМетаданных>, <ИменаБазыДанных>)
    ТЗ = ПолучитьСтруктуруХраненияБазыДанных(,);
    
КонецПроцедуры

Всё. Все удачи.
5 Йохохо
 
25.04.17
11:09
DSN не пришлось даже создавать? в odbc.ini
6 spiller26
 
25.04.17
11:12
(5) В моем случае нет
7 spiller26
 
25.04.17
11:17
(5) Вот только где то на просторах нашел цитату
"насчёт подключения с использованием DSN: там просто строка подключения будет иметь вид "DSN=<Имя-DSN>;".
Теоретически, так можно избавиться от необходимости указывать логин/пароль в коде."
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан