Перестали создаваться COM-объекты на сервере

1. АртемВС 06.11.18 16:45 Сейчас в теме
Добрый день!

На одном из двух полностью идентичных рабочих серверов кластера попытка получения, видимо, любого COM-объекта стала завершаться ошибкой "Недопустимая строка с указанием класса".
Это, например,
Новый COMОбъект("ADODB.Connection");
Новый COMОбъект("WScript.Network");
ПолучитьCOMОбъект("LDAP://RootDSE");


В последнем случае ошибка - "Синтаксическая ошибка".
На втором сервере - все ОК.

Самое интересное, что под тем-же пользователем аналогичная команда power shell выполняется без ошибки!

powershell -Command $connection = New-Object -com "ADODB.Connection"


С чем это может быть связано?
По теме из базы знаний
Найденные решения
21. АртемВС 10.11.18 09:15 Сейчас в теме
Вот что получилось в итоге.

Некоторое время назад на этой системе был инцидент с некорректной нехваткой лицензий (т.е. не выдаются лицензии при явно меньшем количестве сеансов). Лечится только перезапуском, админ перезапустил службы. Но, как выяснилось, на этом сервере остался выполняться "старый" rphost. В логах видна попытка запуска нового, который вскоре завершился. Как уж это получилось, установить уже невозможно.

Выяснилось также, что этот рабочий процесс был запущен уже достаточно давно, а перезапуск по превышению размера памяти не был настроен.
Установили настройки перезапуска по превышению, rphost перезапустился, т.к. уже набрал памяти прилично.

Все, ошибки сразу прекратились. COM-коннектор 64-бит, кстати не установлен, это не влияет на ADO и др.

Спасибо большое всем кто откликнулся!
В этом случае логически объяснить проблему было бы невозможно, глюк и все ) Извините )
1cgzas; Alien_job; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
10. EVKash 14 07.11.18 10:16 Сейчас в теме
(1) Из системных требований к 8.3.11(а значит и всех последующих)
Для Windows Vista SP1, Windows 7, Windows Server 2008 SP1 или Windows Server 2008 R2 нужно установить последний пакет обновлений для работы с внешними соединениями (COM connector) и консолью кластера;
14. АртемВС 07.11.18 10:50 Сейчас в теме
(10) Не нашел, где это написано, не подскажете?

(11) Нет, пользователь сервера в домене, и проблема ведь с многими (всеми?) COM-интерфейсами
18. АртемВС 07.11.18 11:08 Сейчас в теме
19. sergathome 4 07.11.18 11:09 Сейчас в теме
(17) хыхы, оно, конечно всё так, но только KB2999226 без KB976932 тупо не встанет ;)))
20. АртемВС 07.11.18 11:16 Сейчас в теме
(17)
На этом сервере платформа 8.3.10.2580 и Windows server 2012 R2, т.е. видимо не тот случай
2. sergathome 4 06.11.18 17:08 Сейчас в теме
В платформе нуралиевские бракоделы в СОМ АДО испортили. RootDSE получить не получится, как не получится выполнить любой запрос к АД без прямого указания домен-контроллера. Это справедливо для платформы 8.3.13.1513, возможно и для более ранних. На 8.3.10.2580 ещё всё работало.
Какая у вас версия ?
3. АртемВС 06.11.18 17:20 Сейчас в теме
(2) Тут как раз 8.3.10.2580, и на втором севере все работает по прежнему, да и на этом работало до определенного момента.

Про 8.3.13.1513 - спасибо, это важно, рано или поздно надо будет обновляться, а использование ADO и запросы к AD в данном случае критичны.
4. sergathome 4 06.11.18 17:35 Сейчас в теме
(3) А если так:
	ДСО=ПолучитьCOMОбъект("LDAP:");
	Корень=ДСО.OpenDSObject("LDAP://RootDSE", "", "",1);
5. АртемВС 07.11.18 08:20 Сейчас в теме
(4) Нет, без изменений, на первой строке та же ошибка:

Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: -2147221020(0x800401E4): Синтаксическая ошибка
6. sergathome 4 07.11.18 09:14 Сейчас в теме
(5) Перерегистрация comcntr.dll ничего не даёт ? Сама регистрация не брыкается ?
7. АртемВС 07.11.18 09:37 Сейчас в теме
(6) Админ утверждает, что с этим все ОК, делал .

К тому же, comcntr.dll, насколько я понимаю, имеет отношение только к работе с V83.COMConnector, а не к получению других COM-объектов (ADO, AD, WScript.Network).
8. sergathome 4 07.11.18 09:39 Сейчас в теме
(7) Неправильно понимаете. Придётся встать за спиной админа и всё проверить. Есть подозрение, что оттуда ноги и выросли ;)
12. АртемВС 07.11.18 10:48 Сейчас в теме
(8) Спасибо, попробуем чуть позже, сейчас не возможности.

Но, на другой системе тест не подтверждает этого:

1) прогоняю тест создания COM-объектов (сервер), в т.ч. V83.COMConnector, ADODB.Connection, WScript.Network - ОК

2) делаю regsvr32 /u "C:\Program Files\1cv8\8.3.10.2699\bin\comcntr.dll"

3) тест - все ОК, кроме V83.COMConnector,

4) делаю regsvr32 "C:\Program Files\1cv8\8.3.10.2699\bin\comcntr.dll"

5) тест - снова все ОК
15. sergathome 4 07.11.18 10:57 Сейчас в теме
(12) Обёртку для интерфейса оно создаёт и обслуживает. Возможно, что АДО-объект и без comcntr создатся, но полноценно работать с ним вы не сможете. Также невозможно будет использовать конструкции типа ДСО=ПолучитьCOMОбъект("LDAP:").
Обратите внимание из-под какого аккаунта запущен 1с-сервер, возможно, что проблемы там.
16. АртемВС 07.11.18 11:03 Сейчас в теме
9. nyam-nyam 07.11.18 09:56 Сейчас в теме
(7)Кстати, читал как то что в случаях когда просто перерегистрация не решает проблем с COM соединениями, то помогает сначала принудительно снять библиотеку с регистрации (regsvr32 /u) и затем уже регистрировать заново.
13. АртемВС 07.11.18 10:48 Сейчас в теме
11. sergathome 4 07.11.18 10:41 Сейчас в теме
Ещё один возможный корень проблем с АД - запуск 1с-сервера с локальным (недоменным) аккаунтом. Угадайте, знает что-либо локальный аккаунт про домен, а домен про аккаунт ? ;) Что будет, если запрос подаётся с доменного компа, но с локального аккаунта ?
21. АртемВС 10.11.18 09:15 Сейчас в теме
Вот что получилось в итоге.

Некоторое время назад на этой системе был инцидент с некорректной нехваткой лицензий (т.е. не выдаются лицензии при явно меньшем количестве сеансов). Лечится только перезапуском, админ перезапустил службы. Но, как выяснилось, на этом сервере остался выполняться "старый" rphost. В логах видна попытка запуска нового, который вскоре завершился. Как уж это получилось, установить уже невозможно.

Выяснилось также, что этот рабочий процесс был запущен уже достаточно давно, а перезапуск по превышению размера памяти не был настроен.
Установили настройки перезапуска по превышению, rphost перезапустился, т.к. уже набрал памяти прилично.

Все, ошибки сразу прекратились. COM-коннектор 64-бит, кстати не установлен, это не влияет на ADO и др.

Спасибо большое всем кто откликнулся!
В этом случае логически объяснить проблему было бы невозможно, глюк и все ) Извините )
1cgzas; Alien_job; +2 Ответить
22. Alien_job 190 04.07.19 10:15 Сейчас в теме
(21) Похожая проблема - ваше решение помогло.

стала выпадать ошибка на Новый COMОбъект("ADODB.Connection");
Настройки SQL / прав / пользователей не менялись. Только останавливали службу, удаляли временные файлы и запускали обратно.

перерегистрация dll не помогла.

Остановили службу, увидели зависшие процессы, завершили их, запустили службу - все работает.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот