powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Исключение в триггере на коннект при ресторе блокирует новые подключения к firebird
7 сообщений из 7, страница 1 из 1
Исключение в триггере на коннект при ресторе блокирует новые подключения к firebird
    #39665402
vvvait
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такой триггер:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
create or alter trigger CONNECT_CHECK
active on connect position 0
as
declare variable RC bigint;
begin
  if (exists (select * from MON$ATTACHMENTS a 
              where a.MON$ATTACHMENT_ID = current_connection 
                and a.MON$REMOTE_PROTOCOL <> a.MON$REMOTE_PROTOCOL <> 'XNET'))       
    then exception ERROR 'Недопустимая строка подключения';
end



если делать восстановление в базу localhost:db, gbak молча зависает, подключится к другим базам нельзя, старые подключения работают, службу перезапустить не удается только снять процесс

проверено на SS 2.5.5 и SS 2.5.8
...
Рейтинг: 0 / 0
Исключение в триггере на коннект при ресторе блокирует новые подключения к firebird
    #39665404
vvvait
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
поправочка, select такой

Код: plsql
1.
select * from MON$ATTACHMENTS a where a.MON$ATTACHMENT_ID = current_connection and a.MON$REMOTE_PROTOCOL <> 'XNET'
...
Рейтинг: 0 / 0
Исключение в триггере на коннект при ресторе блокирует новые подключения к firebird
    #39665407
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vvvait,

а что так можно

Код: sql
1.
a.MON$REMOTE_PROTOCOL <> a.MON$REMOTE_PROTOCOL <> 'XNET'



ну и ещё в 2.5 лучше не использовать MON$ в триггерах на коннект. Есть же более дешёвый вариант

Код: sql
1.
RDB$GET_CONTEXT('SYSTEM', 'NETWORK_PROTOCOL')
...
Рейтинг: 0 / 0
Исключение в триггере на коннект при ресторе блокирует новые подключения к firebird
    #39665411
vvvait
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис, на форум можно, в ibsq, см 2 пост
...
Рейтинг: 0 / 0
Исключение в триггере на коннект при ресторе блокирует новые подключения к firebird
    #39665415
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vvvait,

ну и для gbak используй ключик -nodbtriggers
...
Рейтинг: 0 / 0
Исключение в триггере на коннект при ресторе блокирует новые подключения к firebird
    #39665417
vvvait
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис, это и так ясно, проблема в поведении сервера
...
Рейтинг: 0 / 0
Исключение в триггере на коннект при ресторе блокирует новые подключения к firebird
    #39665419
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vvvait,

а вообще это странно. Логично активировать такие триггеры только в самом конце рестора, да и сработать они по идее не должны потому как переконнекта не делается.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Исключение в триггере на коннект при ресторе блокирует новые подключения к firebird
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]