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.
