C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Логирование действий пользователей
telepath
Отправлено: 01.11.2004, 10:30


Станционный диспетчер

Группа: Участник
Сообщений: 132



Можно ли как-то отследить на уровне сервера бд (firebird), действия пользователей? Например: изменение полей, удаление/добавление записей и автоматом заносить их в отдельную таблицу?
AVC
Отправлено: 01.11.2004, 11:31


Ветеран

Группа: Модератор
Сообщений: 1583



Легко. При помощи тригерра отслеживаемой таблицы.
telepath
Отправлено: 01.11.2004, 11:32


Станционный диспетчер

Группа: Участник
Сообщений: 132



А как забрать имя пользователя?
AVC
Отправлено: 01.11.2004, 11:35


Ветеран

Группа: Модератор
Сообщений: 1583



А что у FB нет чого-то типа USER. UID? Я не в курсе — он что не знает от чьего имени происходят изменения?
telepath
Отправлено: 01.11.2004, 11:39


Станционный диспетчер

Группа: Участник
Сообщений: 132



Наверное есть, просто я не знаю smile.gif
AVC
Отправлено: 01.11.2004, 11:45


Ветеран

Группа: Модератор
Сообщений: 1583



Посмотрите. Часто USER — символьное имя текущего пользователя а UID его числовой код.
olegenty
Отправлено: 02.11.2004, 09:00


Ветеран

Группа: Модератор
Сообщений: 2412



именно так: есть глобальная переменная USER — символьное имя текущего вопрошающего пользователя. UID или аналога в Interbase/Firebird/Yaffil — нет

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

Вернуться в Работа с базами данных в C++Builder