Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

"Клиентский процесс не зарегистрирован сервером" hResult: 80004005h : Супермаг Плюс (Супермаг 2000)

26.04.2024 13:38


02.11.2010 10:11
John Doe
 
уже начинали тут
Фокусы в 1.027.2
но вроде как так все втихомолку терпят. Хочется уточнить привязку этого безобразия к превышению количества лицензий. Так это или нет? На 1027.5 сп4 повторяется...
Вот ведь, блин, криворукие программеры, нет, чтобы с пользой время потратить, головную боль всем придумали...
02.11.2010 14:38
Neutron
 
Я тоже заметил привязку к колличеству лицензий!
Есть у кого нибудь решения данной проблеме...?
02.11.2010 14:45
OlegON
 
Я пока накидал принудительное ограничение на 48 сессий (при 50 лицензиях), проверяю у клиента...
Кто ошибку заметит - скажите... Запускать от sys.
'STAR\ORASERV','ORASERV' - имя сервера, где стоит сервер лицензий
Код:
CREATE OR REPLACE TRIGGER BLOCK_EXCEEDED
AFTER LOGON ON DATABASE
DECLARE
V_USER VARCHAR2 (64);
V_HOST VARCHAR2 (64);
SESS_C NUMBER (5);
LOGON_C NUMBER (5);
BEGIN
SELECT sys_context('userenv','session_user'),sys_context('userenv','host') INTO V_USER, V_HOST FROM dual;
IF V_USER NOT IN ('SUPERMAG','SYS') THEN
IF V_HOST NOT IN ('STAR\ORASERV','ORASERV') THEN
SELECT count(distinct machine) INTO SESS_C FROM sys.v$session;
if SESS_C>48 THEN
SELECT count(1) INTO LOGON_C FROM sys.v$session where machine like '%'||upper(v_host)||'%';
IF LOGON_C<1 THEN
DBMS_LOCK.SLEEP(2);
RAISE_APPLICATION_ERROR(-20000, V_HOST||':Error #Session limit! Relax or visit https://olegon.ru');
END IF;
END IF;
END IF;
END IF;
END;
/
Код:
CREATE OR REPLACE TRIGGER BLOCK_EXCEEDED
AFTER LOGON ON DATABASE
DECLARE
V_USER VARCHAR2 (64);
V_HOST VARCHAR2 (64);
SESS_C NUMBER (5);
LOGON_C NUMBER (5);
BEGIN
SELECT sys_context('userenv','session_user'),sys_context('userenv','terminal') INTO V_USER, V_HOST FROM dual;
SELECT count(*) INTO SESS_C FROM (select distinct(username||terminal) from sys.v$session where (username,terminal) not in (select sys_context('userenv','session_user'),sys_context('userenv','terminal') from dual));
if SESS_C>23 THEN
RAISE_APPLICATION_ERROR(-20000, V_HOST||':Error #Session limit! Relax or visit https://olegon.ru');
END IF;
END;
/
02.11.2010 14:52
OlegON
 
Да, чтобы снять его надо из под sys опять же:
Код:
DROP TRIGGER BLOCK_EXCEEDED;
02.11.2010 15:35
Propil
 
в 1.027.2 С+ проблему закрыл 6-м сервиспаком
У меня с тех пор ошибка не выскакивала
так что надо долбить поддержку...
02.11.2010 16:54
Neutron
 
Долбить то надо, только вот они отнекиваются что проблемы с базой а не в приложении ТС!
Никак не смог достучаться до них что проблема возникла (при такой же нагрузке как и сейчас) сразу на следующий день после обновления с версии 1.026 на 1.027.5 сп3, после посоветовали обновиться на сп4, только к сожалению это не помогло...
02.11.2010 17:23
OlegON
 
Не переживайте... Сейчас разберемся, кто виноват... Удаленка плохая, может до выходных и не разберемся, но потом - точно :)
04.11.2010 08:17
OlegON
 
При включении ограничения на две машины меньше лицензионного количества, ошибка не проявляется. Т.е. проблема с подсчетом лицензий.
04.11.2010 17:25
Neutron
 
Цитата:
OlegON При включении ограничения на две машины меньше лицензионного количества, ошибка не проявляется. Т.е. проблема с подсчетом лицензий.
T.e. проблема в приложении ТС, и никак не в базе?
04.11.2010 17:30
OlegON
 
Если у тебя есть такая ошибка, можешь попробовать подтвердить мою догадку. Скрипты выше. Я голосую за проблему в ТС.
Часовой пояс GMT +3, время: 13:38.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.