|
|
Не получается подключиться через com
Garykom, Fedor-1971, vv2304, ДенисСмирнов, mzelensky, Prog_man, p-soft, 2S, Доминошник, Snegok, Климов Сергей, shuhard, Гипервизор, LuckyStar, NorthWind, вым, kir-g, Мультук, Winnie Buh, okmail, Franchiser, spiller26, АЛьФ, Vstur, sikuda, zenik, Михаил Козлов, kittystark, ads55, Шурик71, nick86, Builder, svmix, x3-nic, Fish, elka302, Lite777888, TormozIT, Trucker, maxar, Mafiozaa, evorle145, viraboy
| ☑ |
|
0
vv2304
19.05.26
✎
08:31
|
Обработка через COMConnector подключалась к другим базам. Прекрасно работало когда все было на одном сервере.
COMСоединитель = Новый COMОбъект("V83.COMConnector");
СоединениеСАгентом = COMСоединитель.ConnectAgent(127.0.0.1);
После того как пользователей перевели на отдельный сервер,работать перестало. Хотя вроде все правильно переписал. Теперь так
СоединениеСАгентом = COMСоединитель.ConnectAgent("ххх-srv-1c");
Кластеры = СоединениеСАгентом.GetClusters().Выгрузить();
СоединениеСАгентом.Authenticate(Кластеры[0], АдминистраторКластера, ПарольКластера);
Пишет "Администратор кластера не аутентифицирован"
админ и пароль не менялись, в консоль ведь вхожу нормально.
Подскажите, где ошибка ?
|
|
|
1
spiller26
19.05.26
✎
08:38
|
(0)
1.Зачем вам подключение к другим базам?
2. Базы на УФ или ОП?
3. Почему через com?
|
|
|
2
2S
19.05.26
✎
08:47
|
(1) Странные вопросы, хозяин-барин, значит так надо ему.
(0) Кластеры[0] что возвращает?
|
|
|
3
vv2304
19.05.26
✎
09:18
|
(2) ComОбъект. ХостНейм = ххх-srv-1c
|
|
|
4
spiller26
19.05.26
✎
09:27
|
(2) А вообще зачем ему кластеры?
|
|
|
5
spiller26
19.05.26
✎
09:29
|
(3) Пробуй по другому, вот тебе функция
Функция УстановитьCOMПодключениеСБазойДанных1С(пСервер, пИмяБазыДанных, пКаталогБД, пСерверная, пПользователь, пПароль) Экспорт
COM_Соединение = Неопределено;
Попытка
СистемнаяИнформация = Новый СистемнаяИнформация;
ВерсияПлатформы = Лев(СистемнаяИнформация.ВерсияПриложения,3);
Если ВерсияПлатформы = "8.3" Тогда
ВерсияПлатформыСтрока = "V83";
Иначе
ВерсияПлатформыСтрока = "V82";
КонецЕсли;
V8 = Новый COMОбъект(ВерсияПлатформыСтрока + ".COMConnector");
Если пСерверная Тогда
СтрокаПодключения =
"Srvr=""" + пСервер +
"""; Ref=""" + пИмяБазыДанных +
"""; Usr=""" + пПользователь +
"""; Pwd=""" + пПароль +"""";
Иначе
СтрокаПодключения = "file='" + пКаталогБД + "'; usr='" + пПользователь + "'; pwd='" + пПароль + "';";
КонецЕсли;
COM_Соединение = V8.Connect(СтрокаПодключения);
Возврат COM_Соединение;
Исключение
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = ОписаниеОшибки();
Сообщение.Сообщить();
Возврат Неопределено;
КонецПопытки;
КонецФункции // УстановитьCOMПодключениеСБазойДанных1С()
|
|
|
6
vv2304
19.05.26
✎
10:09
|
(4) А как получить список баз ?
|
|
|
7
Fedor-1971
19.05.26
✎
10:27
|
(6) Делай регистр сведений с подключением куда тебе нужно и тебе нужен список баз клиентской машины, а не кластера
А так-то:
1. Кластер может требовать пароль администратора
2. СОМ соединения может админ прикрыть на самом сервере
3. На самом сервере, возможно, придётся поставить клиента локально
|
|
|
8
vv2304
19.05.26
✎
11:02
|
1. Кластер может требовать пароль администратора
СоединениеСАгентом.Authenticate(Кластеры[0], АдминистраторКластера, ПарольКластера);
При запуске консоли вбиваю Админа и пароль, нормально вхожу.
Или это другое ?
2. СОМ соединения может админ прикрыть на самом сервере
если надо подключиться к конкретной базе, то без проблем.
|
|