Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.01.01;
Скачать: CL | DM;

Вниз

Как бы половчее сделать Аудит. Не триггером.   Найти похожие ветки 

 
12 ©   (2010-03-26 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 ©   (2010-03-26 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 ©   (2010-03-26 10:26) [2]

В before Edit?

А он вообще нужен, аудит то, тем более такой? Возможно достаточно будет просто в таблицу добавить имя пользователя - автора последней редакции.
Почему тригером нельзя?


 
12 ©   (2010-03-26 10:35) [3]


> В before Edit?

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


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

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


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

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


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

только моей программе разрешено напрямую редактировать поля
это 0.0001 процент от общих объемов. И каждый раз чтоб мой триггер срабатывал - неэффективно будет.


 
Sergey13 ©   (2010-03-26 10:46) [4]

> [3] 12 ©   (26.03.10 10:35)
> только моей программе разрешено напрямую редактировать поля

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

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

> Сказали так.
Это конечно крутой аргумент, но аудитная таблица будет расти как на дрожжах, а использоваться возможно будет только после дождика в четверг в високосном году.


 
Игорь Шевченко ©   (2010-03-26 10:47) [5]

половчее аудит в оракле сделать ораклом. STFW ORACLE AUDIT


 
12 ©   (2010-03-26 11:38) [6]


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

почти :)


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

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

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


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

согласен.
ну а если триггером? не будет что-ли..вообще разрастется.


 
Игорь Шевченко ©   (2010-03-26 11:44) [7]


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


Может


 
Кщд   (2010-03-26 11:46) [8]

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


 
12 ©   (2010-03-26 12:03) [9]


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

надо будет посмореть



Страницы: 1 вся ветка

Текущий архив: 2012.01.01;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
2-1316510544
LDV
2011-09-20 13:22
2012.01.01
игнорировать дубликаты при insert -запросе


1-1278875240
dyonysos
2010-07-11 23:07
2012.01.01
MessageBox из TService


15-1315945785
Юрий
2011-09-14 00:29
2012.01.01
С днем рождения ! 14 сентября 2011 среда


15-1315686587
Юрий
2011-09-11 00:29
2012.01.01
С днем рождения ! 11 сентября 2011 воскресенье


2-1316902702
Undria
2011-09-25 02:18
2012.01.01
Не работает код в Delphi XE2