Обрыв соединения и MON$ATTACHMENTS
Добавлено: 19 окт 2011, 15:08
Решил вот использовать таблицу MON$ATTACHMENTS для отслеживания кол-ва подключенных пользователей. Все вроде бы успешно работает, но возникла неприятная проблема, а также есть некоторые вопросы:
1)Если на одном из клиентов, подключенных к базе, обрывается сетевое соединение, то он не исчезает из таблицы MON$ATTACHMENTS, а остается висеть в ней. Как это понять и от этого избавиться средствами СУБД? Неужели Firebird сам не мониторит периодически подключенных клиентов? Нужно по-сути чтобы он прибивал неотвечающих клиентов.
2)Стыдно задавать такие вопросы, но все же - отчего в этой же таблице образуются сразу несколько соединений от каждого клиента(обычно два)? В своей программе устанавливаю соединение только 1 раз, используется пул соединений ADO.NET. Причем одно соединение точно мое, как только я его закрываю полностью - оно исчезает, а второе остается до завершения моей программы. Но такое вижу и с программами-менеджерами БД(я использую Firebird Maestro).
3)Чисто ради интереса попробовал навесить на эту таблицу обычный триггер, а он не срабатывает. В чем причина?
Используется Firebird 2.5. Спасибо!
1)Если на одном из клиентов, подключенных к базе, обрывается сетевое соединение, то он не исчезает из таблицы MON$ATTACHMENTS, а остается висеть в ней. Как это понять и от этого избавиться средствами СУБД? Неужели Firebird сам не мониторит периодически подключенных клиентов? Нужно по-сути чтобы он прибивал неотвечающих клиентов.
2)Стыдно задавать такие вопросы, но все же - отчего в этой же таблице образуются сразу несколько соединений от каждого клиента(обычно два)? В своей программе устанавливаю соединение только 1 раз, используется пул соединений ADO.NET. Причем одно соединение точно мое, как только я его закрываю полностью - оно исчезает, а второе остается до завершения моей программы. Но такое вижу и с программами-менеджерами БД(я использую Firebird Maestro).
3)Чисто ради интереса попробовал навесить на эту таблицу обычный триггер, а он не срабатывает. В чем причина?
Используется Firebird 2.5. Спасибо!