Всем добрый день.
Как понять какой атрибут является недопустимым? Есть база на 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): Недопустимый атрибут строки соединения
Соединение = Новый 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] Источник данных не найден и не указан драйвер, используемый по умолчанию
Сервер, на котором развернута база 1С, и сервер postgres - это два разных сервера. Правильно ли я понимаю, что источник данных ODBC должен быть создан на обоих серверах?
(5) Драйвер должен быть установлен на той машине с которой обращаешься к postgresql.
Вот отсюда его качать надо https://odbc.postgresql.org Битность драйвера должна соответствовать клиенту из когорого обращаешься к серверу, можно и х32 и х64 поставить одновременно, хуже не будет.
(5) Если база развернута в клиент-серверном варианте, то нужно четко понимать кто подключается к внешней базе (клиент или сервер). Источник данных ODBC должен быть создан на том сервере или клиенте, который подключается. + postgresql должен принимать оттуда подключения (курить pg_hba.conf).
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший