Имя: Пароль:
1C
1С v8
ВИД на 1с сервере (CentOS 6)
0 Oldman06
 
13.12.19
09:32
Приветствую. Проблема с подключением внешнего источника данных на сервере 1с на CentOS 6.
Пакет postgresql-odbc установлен.
В файле odbcinst.ini :
[PostgreSQL]
Description     = ODBC for PostgreSQL
Driver          = /usr/lib64/psqlodbcw.so
Setup           = /usr/lib64/libodbcpsqlS.so
Driver64        = /usr/lib64/psqlodbcw.so
Setup64         = /usr/lib64/libodbcpsqlS.so
FileUsage       = 1

При попытке в конфигураторе открыть конструктор строки подключения к ВИД выводится ошибка: "Ошибка аутентификации клиента '1см8' средствами операционной системы: Аутентификационный контекст клиента отсутствует в рабочем процессе" и работа конфигуратора завершается. Если я перед открытием конструктора строки выбираю тип СУБД "PostgreSQL" и использовать стандартную аутентификацию с указанием логина и пароля, то выводится ошибка: "Ошибка ODBC/ SQLSTATE: IM002. Номер ошибки: 0. Описание: [unixODBC][Driver Manager]Data source name not found, and no default driver scecified".
При этом в файле odbc.ini у меня сделаны настройки:
[WebSrv]
Description = PostgreSQL connection to WebSrv
Driver = PostgreSQL
Servername = 192.168.1.254
Port = 5432
Protocol = 9.4
ReadOnly = No
RowVersioning = No
ShowSystemTables = No
UserName = postgres
Password = postgres
Database = ko

и с помощью утилиты isql подключение проходит успешно:
isql -v WebSrv
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
В чем может быть дело?
1 mkfadmin
 
16.12.19
10:58
Добрый день!
Если Клиент 1С 32-х, то и ODBC тоже должен быть 32.
В этой части ини-файла на мой взгляд, должны быть указаны указаны библиотеки для 32-разрядной системы, а не для 64-х.
В файле odbcinst.ini :
[PostgreSQL]
Description     = ODBC for PostgreSQL
Driver          = /usr/lib64/psqlodbcw.so
Setup           = /usr/lib64/libodbcpsqlS.so
....

должно быть так наверно:
Driver          = /usr/lib/psqlodbcw.so
Setup           = /usr/lib/libodbcpsqlS.so
2 Oldman06
 
16.12.19
12:24
Здравствуйте.
А при чем тут клиент 1С? Соединение создает сервер, а он 64-битный.
3 Oldman06
 
16.12.19
13:04
Хм... С учетом прописанного в odbc.ini, при установке строки подключения в "DSN=WebSrv;" все взлетело. И даже больше ничего указывать не надо. Странно.