Перестали создаваться 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 не помогла.

Остановили службу, увидели зависшие процессы, завершили их, запустили службу - все работает.
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)