Zdravim,

jestli jeste nemate konkretni reseni, rad bych se zminil o mem pristupu, ktery 
jsem s uspechem pouzil na nekolika projektech s Oracle a Springem (a v jednom 
pripade jsem to take pouzil s Oracle Virtual Private Database):

Ve Springu mam pomoci AOP (after advice) relizovano osetreni getConnection():
...
oracle.jdbc.OracleConnection orConn = (oracle.jdbc.OracleConnection)   conn;
orConn.setClientIdentifier(clientId);
...

Pro navrat connection do poolu wrapuji close() pmoci AOP (before advice):
...
poolorConn.clearClientIdentifier(clientId);
...

Takto nastavene hodnoty jsou dostupne v Oracle pro SQL a PL/SQL v USERENV jako 
CLIENT_IDENTIFIER.

Vlastni logika trackingu změn je ralizovana pomoci triggeru a PL/SQL. Vlastni 
archivni struktury jsou v oddelenem schematu, kam ma uzivatel pro DataSource 
omezena prava (INSERT).

Jiri Melichna

------------ Původní zpráva ------------
Od: Tomas Zverina <[EMAIL PROTECTED]>
Předmět: Re: sledovani zasahu do DB - Spring, Oracle
Datum: 20.12.2006 13:20:48
----------------------------------------
Diky vsem za tipy, pravdepodobne se tedy vydam cestou wrapperu JDBC
pripojeni v kombinaci s triggery.

Zdar!

Jiri Fabian wrote:
> Tohle mi take prijde jako nejlepsi reseni, jinak se to nedavno resilo na
> javaspecialists.
>
> http://www.javaspecialists.co.za/archive/newsletter.do?issue=136
>
> filemon
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
> Behalf Of Stöhr Miroslav RNDr. Ph.D.
> Sent: Tuesday, December 19, 2006 8:54 AM
> To: Java
> Subject: RE: sledovani zasahu do DB - Spring, Oracle
>
> Kdysi davno, davno tomu :-)) jsem neco podobneho resil tim, ze jsem vytvoril
> jednoduchy wrapper pro JDBC connection, kterou jsem pak podstrcil connection
> poolu. Fungovalo to bezvadne, a hotove jsem to mel za chvilku ...
>
>                  Mirek
>
>
> -----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.
>
>
>


--
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