|
1С и Postgres - Недопустимый атрибут строки соединения | ☑ | ||
---|---|---|---|---|
0
Mary01
05.03.23
✎
10:28
|
Всем добрый день.
Как понять какой атрибут является недопустимым? Есть база на postgres сервере (не 1С), надо взять из нее данные. Пишу подключение: // Сервер = "srv1"; База = "b1c"; Пользователь = "adm"; Пароль = "111"; Таймаут = 60; Порт = 5432; DataSource = "PostgreSQL35W"; ConnectString="Provider=SQLOLEDB;Data Source="+Cервер+";DatabaseName="+База+";Initial Catalog="+База+";UID="+Пользователь+";PWD="+Пароль; Соединение=Новый COMОбъект("ADODB.Connection"); Соединение.ConnectionTimeOut=Таймаут; Попытка Соединение.Open(ConnectString); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Недопустимый атрибут строки соединения |
|||
1
rphosts
05.03.23
✎
10:49
|
драйвер юникодный?
|
|||
2
Mary01
05.03.23
✎
11:56
|
(1) доступ на сервер пока не дали, только завтра смогу проверить. какой параметр в строке меняется исходя из того, юникодный драйвер или нет?
|
|||
3
Djelf
05.03.23
✎
11:59
|
(0) Хм, база postgresql, а провайдер mssql? Интересно...
Посмотри строки подключения: https://www.connectionstrings.com/postgresql/ |
|||
4
Mary01
05.03.23
✎
13:20
|
Соединение = Новый COMОбъект("ADODB.Connection");
Соединение.Provider = "MSDASQL.1"; и 3 варианта подключения: ConnectionString = "Driver={PostgreSQL UNICODE};Server="+Сервер+";Port=5432;Database="+База+";Uid="+Пользователь+";Pwd="+Пароль; ConnectionString = "Driver={PostgreSQL ANSI};Server="+Сервер+";Port=5432;Database="+База+";Uid="+Пользователь+";Pwd="+Пароль + "sslmode=require"; ConnectionString = "Driver={PostgreSQL};Server="+Сервер+";Port=5432;Database="+База+";Uid="+Пользователь+";Pwd="+Пароль; при каждом варианте подключения - ошибка: Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию |
|||
5
Mary01
05.03.23
✎
14:28
|
Сервер, на котором развернута база 1С, и сервер postgres - это два разных сервера. Правильно ли я понимаю, что источник данных ODBC должен быть создан на обоих серверах?
|
|||
6
Djelf
05.03.23
✎
14:34
|
(5) Драйвер должен быть установлен на той машине с которой обращаешься к postgresql.
Вот отсюда его качать надо https://odbc.postgresql.org Битность драйвера должна соответствовать клиенту из когорого обращаешься к серверу, можно и х32 и х64 поставить одновременно, хуже не будет. |
|||
7
МихаилМ
06.03.23
✎
01:27
|
||||
8
Philix
06.03.23
✎
13:20
|
(5) Если база развернута в клиент-серверном варианте, то нужно четко понимать кто подключается к внешней базе (клиент или сервер). Источник данных ODBC должен быть создан на том сервере или клиенте, который подключается. + postgresql должен принимать оттуда подключения (курить pg_hba.conf).
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |