Сайт Koder.kz сайт для Delphi программистов.

koder.kz

Web or desctop App Developer

Написать

Добавил admin | Категория Заметки про IBExpert, Firebird | 14 Декабря 2013


Журнализация или логирование данных является очень важной функцией любой БД. Для того что бы задействовать журнализацию или логирование в IB Expert, Firebird нам необходимо в меню Инструменты выбрать пункт Менеджер протоколов данных



1.Здесь представлен список таблиц и возможные действия с каждой таблицей. Журнализацию к выбранной таблице можно применить только к вставке (галочка I) только к обновлению, редактированию, изменению (галочка U) и к операции удаления (галочка D) так же эти галочки можно комбинировать и группировать, обычно указывают все галочки.

2.Log INSERT (UPDATE, DELETE) action это меню позволяет нам установить журнализацию отдельно на каждое поле таблицы. К примеру вы не хотите что бы журнализация велась по всем полям таблицы, с помощью этого меню этого легко достичь, ставите галочку на против тех пунктов которые подлежать журнализации, в 3 окне появляется галочка на против каждого поля, по умолчанию журнализация для полей отключена, для ее включения необходимо поставить галочку в третьем окне напротив каждого поля которое должно журнализироваться. 

После того как вы укажите все необходимые параметры внесенные изменения необходимо будет скомпилировать, для этого нужно нажать


Появится диалоговое окно 


Его содержимое требует внимания, изучив данное сообщение рекомендую с ним согласиться нажав кнопку Да. Таблицы будут созданы и журнализация станет доступной для просмотра. Теперь предлогаю посмотреть как это работает, для этого открываем нашу таблицу и добавляем туда пару записей.


После этого вновь открываем менеджер протоколов данных и переходим на вкладку Log Data


Тут мы видим интерфейс позволяющий нам выбрать записи из интересующих нас таблиц за указанный промежуток времени а так же можно указать пользователя, и выбрать тип события (вставка, изменение, удаление)


Тут мы видим что в указанном диапазоне времени у нас есть две вставки (1 блок), отсутствуют первичные ключи (2 блок) у вас первичные ключи будут доступны, у меня их нет потому что я не создавал генератор на ключевое поле таблицы и не объявлял ID ключом таблицы TBL_MAIN

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

Примечание! Хотелось бы отметить один небольшой но все же неприятный момент с которым все пользователи журнализации IB Expert рано или поздно столкнуться. В встроенной журнализации отсутствует механизм восстановления данных. То есть если вы захотите вернуть запись обратно вам придется сделать это вручную.