Конференция "Базы" » Как бы половчее сделать Аудит. Не триггером. [D7]
 
  • 12 © (26.03.10 10:16) [0]
    Триггером нельзя. Надо в программе.
    Принял такую систему - копия структуры таблицы + 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 - одно и тоже значение
    как бы мне половчее сделать аудит?
  • 12 © (26.03.10 10:22) [1]
    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;

    в логах одни и те же значения
  • Sergey13 © (26.03.10 10:26) [2]
    В before Edit?

    А он вообще нужен, аудит то, тем более такой? Возможно достаточно будет просто в таблицу добавить имя пользователя - автора последней редакции.
    Почему тригером нельзя?
  • 12 © (26.03.10 10:35) [3]

    > В before Edit?

    точно! спасибо


    > А он вообще нужен, аудит то, тем более такой?

    наверное, да. Сказали так.


    > Возможно достаточно будет просто в таблицу добавить имя
    > пользователя - автора последней редакции.

    Нет. Сказали так.
    а по-мне - лучше б его не было вовсе


    > Почему тригером нельзя?

    только моей программе разрешено напрямую редактировать поля
    это 0.0001 процент от общих объемов. И каждый раз чтоб мой триггер срабатывал - неэффективно будет.
  • Sergey13 © (26.03.10 10:46) [4]
    > [3] 12 ©   (26.03.10 10:35)
    > только моей программе разрешено напрямую редактировать поля

    По решению пленума ЕР?

    > И каждый раз чтоб мой триггер срабатывал - неэффективно будет.
    Почему же он срабатывать будет если не будет редактирования?

    > Сказали так.
    Это конечно крутой аргумент, но аудитная таблица будет расти как на дрожжах, а использоваться возможно будет только после дождика в четверг в високосном году.
  • Игорь Шевченко © (26.03.10 10:47) [5]
    половчее аудит в оракле сделать ораклом. STFW ORACLE AUDIT
  • 12 © (26.03.10 11:38) [6]

    > По решению пленума ЕР?

    почти :)


    > Почему же он срабатывать будет если не будет редактирования?

    при старте программы происходят определенные действия, запускаются процедуры пакетов, которые меняют таблицу. Мне это аудить :) не надо.
    Мне надо только действия пользователей.

    Кстати, это для ИШ тоже. Неужели STFW ORACLE AUDIT может как-то отличить действия юзера от служебных действий?
    вот мне сказали - при старте программы всегда запускать процедуру. Дали имя и все.
    Моя программа стартовала - а аудит уже + около 1000 строк, если триггер юзать..


    > удитная таблица будет расти как на дрожжах

    согласен.
    ну а если триггером? не будет что-ли..вообще разрастется.
  • Игорь Шевченко © (26.03.10 11:44) [7]

    > Неужели STFW ORACLE AUDIT может как-то отличить действия
    > юзера от служебных действий


    Может
  • Кщд (26.03.10 11:46) [8]
    >12 ©   (26.03.10 11:38) [6]
    >Кстати, это для ИШ тоже. Неужели STFW ORACLE AUDIT может как-то отличить действия юзера от служебных действий?
    это работа программиста
    в общем и абстрактном случае(не вдаваясь в подробности вашей ИС), выставлять флаг "логировать" и наоборот никто не запрещает
    самописный аудит Oracle из приложения Delphi - это странно и неэффективно
  • 12 © (26.03.10 12:03) [9]

    > Игорь Шевченко ©   (26.03.10 11:44) [7]

    надо будет посмореть
 
Конференция "Базы" » Как бы половчее сделать Аудит. Не триггером. [D7]
Есть новые Нет новых   [134433   +22][b:0][p:0]