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

Код: 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
25.06.2018, 15:27
    #39665404
vvvait
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение в триггере на коннект при ресторе блокирует новые подключения к firebird
поправочка, select такой

Код: plsql
1.
select * from MON$ATTACHMENTS a where a.MON$ATTACHMENT_ID = current_connection and a.MON$REMOTE_PROTOCOL <> 'XNET'
...
Рейтинг: 0 / 0
25.06.2018, 15:32
    #39665407
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение в триггере на коннект при ресторе блокирует новые подключения к firebird
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
25.06.2018, 15:36
    #39665411
vvvait
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение в триггере на коннект при ресторе блокирует новые подключения к firebird
Симонов Денис, на форум можно, в ibsq, см 2 пост
...
Рейтинг: 0 / 0
25.06.2018, 15:41
    #39665415
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение в триггере на коннект при ресторе блокирует новые подключения к firebird
vvvait,

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

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


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