My jsme to řešili v projektu, který byl pospojován pomocí Springu, a tam
jsme použili aspekt pověšený na metody DAO objektů. Nebylo to tedy v
pravém smyslu logování činností na db, ale na DAO vrstvě, aspekt
zalogoval název metody a hodnoty parametrů. Nevýhodou je, že nelze
zalogovat původní hodnotu v db. Jinak k logování uživatelského jména a
dalších kontextových informací jsme použili třídy MDC, NDC z Log4J.
Tomáš Záluský

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of Tomas Zverina
> Sent: Monday, December 18, 2006 6:13 PM
> To: Java
> Subject: sledovani zasahu do DB - Spring, Oracle
> 
> 
> Zdravim,
> 
> mam tu pozadavek, aby se sledovaly veskere zmeny, ktere se v 
> DB delaji. 
> Napada me nasledujici:
> 
> Vytvorime nejake mocne PL/SQL, ktere nam na vsechny tabulky navesi 
> trigger, ktery bude vsechny zmeny poctive logovat do nejake 
> jednoduche 
> tabulky zmen.
> 
> Otazkou je, jak zaridit, aby se trigger dozvedel, ktery 
> uzivatel zmenu 
> udelal - uzivatele DB se neshoduji s uzivateli systemu, v systemu je 
> datasource, ktery prideluje connections dle potreby.
> 
> Myslim, ze by se dal "owrapovat" nejaky transaction manager, nebo 
> samotna JDBC connection, aby pred vykonanim vlastniho dotazu 
> nastavila 
> nejakou promennou, platnou pro danou session, kterou by pak trigger 
> precetl a pouzil jako jmeno autora zmeny.
> 
> Neresili jste neco takoveho? Nevite kudy se vydat? DB nam 
> hlida Spring, 
> zda se mi, ze tam nekam by se to pripsat dalo ...
> 
> Diky!
> 
> -- 
> S pozdravem,
> 
>          Tomas Zverina
> 
> Multimedia atelier s.r.o.
> Na Dolinách 4
> 147 00 Praha 4
> IČO: 25127071
> tel.: 241 433 120
> e-mail: [EMAIL PROTECTED]
> http://www.m-atelier.cz/
> 
> Společnost Multimedia atelier s.r.o. je zapsána u 
> rejstříkového soudu v
> Praze, oddíl C, vložka 51961.
> 
> 


Odpovedet emailem