Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> История подключений к БД, Firebird 2.1 
V
    Опции темы
Gluttton
Дата 23.10.2009, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 7
Всего: 54



Доброго времени суток!

Создаю два триггера на подключение к БД и отключение от неё, задача которых заключается в добавлении записей в соответствующую таблицу о пользователе, дате, времени и действии (подлючился, отключился):
Код

SET TERM ^;
CREATE TRIGGER LG_CON
ON CONNECT
AS
BEGIN
    INSERT INTO LG(OWNER, ACT, D, T)
    VALUES
    (
        CURRENT_USER,
        'Connect',
        CAST('NOW' AS DATE),
        CAST('NOW' AS TIME)
    );
END^

CREATE TRIGGER LG_DCN
ON DISCONNECT
AS
BEGIN
    INSERT INTO LG(OWNER, ACT, D, T)
    VALUES
    (
        CURRENT_USER,
        'Disconnect',
        CAST('NOW' AS DATE),
        CAST('NOW' AS TIME)
    );
END^
SET TERM ;^


Создаю БД и подлючаюсь к ней и вот что вижу (пример):
user posted image
Подумал, что может быть причина в IBExpert, попробовал через isql - результат аналогчиный:
user posted image

Вопрос: почему при первом подключении к вновь созданой БД в таблице с историей подключений есть запись о разрыве соединения раньше чем произошло первое подключение?

Не могу сказать, что мне это доставляет неудобства... Вопрос скорее из любопытства...


--------------------
Слава Україні!
PM MAIL   Вверх
Deniz
Дата 23.10.2009, 06:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Цитата(Gluttton @  23.10.2009,  03:00 Найти цитируемый пост)
Вопрос: почему при первом подключении к вновь созданой БД в таблице с историей подключений есть запись о разрыве соединения раньше чем произошло первое подключение?
могу предположить, что процесс создания БД включает в себя:
1. Подключение
2. Выполнение скрипта по созданию объектов
3. Отключение.
Сл-но на 1 этапе триггеры не работают(еще не созданы), лог не ведется. На 3 этапе триггеры созданы и работают.
Можно попробовать сделать backup только метаданных потом восстановить и посмотреть таблицу логов.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Gluttton
Дата 23.10.2009, 07:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 7
Всего: 54



Скрипт выполняется от 0,8 до 1,3 секунды, а время между разрывом соединения и подключением например на приведенных скриншотах составляет 3 и 27 секунд.

Цитата(Deniz @  23.10.2009,  06:00 Найти цитируемый пост)
Можно попробовать сделать backup только метаданных потом восстановить и посмотреть таблицу логов.

Не приходилось сталкиваться с backup'ами в Firebird, можно чуть подробнее.

 smile 
А может быть это генетическая память (память предков)? И на самом деле БД после удаления не исчезают, а их души неприкаяно скитаются по фрагментированым цепочкам кластеров на дисках до тех пор пока не реинкарнируются и вселятся во вновьсозданую БД?

Это сообщение отредактировал(а) Gluttton - 23.10.2009, 08:21


--------------------
Слава Україні!
PM MAIL   Вверх
Deniz
Дата 23.10.2009, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Цитата(Gluttton @  23.10.2009,  10:52 Найти цитируемый пост)
Скрипт выполняется от 0,8 до 1,3 секунды, а время между разрывом соединения и подключением например на приведенных скриншотах составляет 3 и 27 секунд.
и?
1. Создай пустую БД
2. Создай все объекты в БД
3. Отключись от БД
3. Посмотри и запиши время ОС
4. Подключись к БД и посмотри таблицу лога
Время disconnect и записанное в п.3 совпадает?


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Gluttton
Дата 23.10.2009, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 7
Всего: 54



Цитата(Deniz @  23.10.2009,  11:15 Найти цитируемый пост)
Время disconnect и записанное в п.3 совпадает?


Так и есть, что то я запутлся немножко smile ...

Спасибо за разъяснения!


--------------------
Слава Україні!
PM MAIL   Вверх
Akella
Дата 24.10.2009, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Цитата(Gluttton @  23.10.2009,  00:00 Найти цитируемый пост)
CAST('NOW' AS DATE),
        CAST('NOW' AS TIME)

а зачем использовать CAST, ведь есть же
CURRENT_DATE и CURRENT_TIME
PM MAIL   Вверх
Gluttton
Дата 24.10.2009, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 7
Всего: 54



Цитата(Akella @  24.10.2009,  00:43 Найти цитируемый пост)
а зачем использовать CAST, ведь есть жеCURRENT_DATE и CURRENT_TIME

Спасибо, на будущее учту...


--------------------
Слава Україні!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0597 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.