-
Триггером нельзя. Надо в программе.
Принял такую систему - копия структуры таблицы + 2 поля (кто и когда)
надо: изменяется запись - в той таблице добавляются 2 строки
компоненты ODAC
DataSet: TOraQuery;
думал, если поставить на after/before post, то собственно и получу что надо. т.е.
procedure TCorrespNameForm.DataSetAfterPost(ADataSet: DataSet);
var
i : integer;
begin
for i := 0 to ADataSet.FieldCount - 1 do
begin
и
ADataSet.Fields[i].FieldName
ADataSet.Fields[i].AsString
end;
но нет..
в обоих случаях, что before, что after - одно и тоже значение
как бы мне половчее сделать аудит?
-
1. глюк, Oracle указывал - не появилось
2. т.е. пишу так
procedure TCorrespNameForm.DataSetAfterPost(ADataSet: TDataSet);
var
i : integer;
begin
ToLog('DataSetAfterPost');
for i := 0 to ADataSet.FieldCount - 1 do
begin
ToLog(ADataSet.Fields[i].FieldName + ' ' + ADataSet.Fields[i].AsString);
end;
end;
procedure TCorrespNameForm.DataSetBeforePost(ADataSet: TDataSet);
var
i : integer;
begin
ToLog('DataSetBeforePost');
for i := 0 to ADataSet.FieldCount - 1 do
begin
ToLog(ADataSet.Fields[i].FieldName + ' ' + ADataSet.Fields[i].AsString);
end;
в логах одни и те же значения
-
В before Edit?
А он вообще нужен, аудит то, тем более такой? Возможно достаточно будет просто в таблицу добавить имя пользователя - автора последней редакции.
Почему тригером нельзя?
-
> В before Edit?
точно! спасибо
> А он вообще нужен, аудит то, тем более такой?
наверное, да. Сказали так.
> Возможно достаточно будет просто в таблицу добавить имя
> пользователя - автора последней редакции.
Нет. Сказали так.
а по-мне - лучше б его не было вовсе
> Почему тригером нельзя?
только моей программе разрешено напрямую редактировать поля
это 0.0001 процент от общих объемов. И каждый раз чтоб мой триггер срабатывал - неэффективно будет.
-
> [3] 12 © (26.03.10 10:35)
> только моей программе разрешено напрямую редактировать поля
По решению пленума ЕР?
> И каждый раз чтоб мой триггер срабатывал - неэффективно будет.
Почему же он срабатывать будет если не будет редактирования?
> Сказали так.
Это конечно крутой аргумент, но аудитная таблица будет расти как на дрожжах, а использоваться возможно будет только после дождика в четверг в високосном году.
-
половчее аудит в оракле сделать ораклом. STFW ORACLE AUDIT
-
> По решению пленума ЕР?
почти :)
> Почему же он срабатывать будет если не будет редактирования?
при старте программы происходят определенные действия, запускаются процедуры пакетов, которые меняют таблицу. Мне это аудить :) не надо.
Мне надо только действия пользователей.
Кстати, это для ИШ тоже. Неужели STFW ORACLE AUDIT может как-то отличить действия юзера от служебных действий?
вот мне сказали - при старте программы всегда запускать процедуру. Дали имя и все.
Моя программа стартовала - а аудит уже + около 1000 строк, если триггер юзать..
> удитная таблица будет расти как на дрожжах
согласен.
ну а если триггером? не будет что-ли..вообще разрастется.
-
> Неужели STFW ORACLE AUDIT может как-то отличить действия
> юзера от служебных действий
Может
-
>12 © (26.03.10 11:38) [6]
>Кстати, это для ИШ тоже. Неужели STFW ORACLE AUDIT может как-то отличить действия юзера от служебных действий?
это работа программиста
в общем и абстрактном случае(не вдаваясь в подробности вашей ИС), выставлять флаг "логировать" и наоборот никто не запрещает
самописный аудит Oracle из приложения Delphi - это странно и неэффективно
-
> Игорь Шевченко © (26.03.10 11:44) [7]
надо будет посмореть