Avatar billede hrc Mester
27. oktober 2006 - 10:32 Der er 1 løsning

Automatisk logning af databaseoperationer - bedste metode

I min database er der den brugertabel hvor der sættes et login-flag når programmet starter. Når programmet lukkes, fjernes det igen. Til selve databasen er der kun ét login & password.

Insert/update og delete foregår via en autogeneret StoredProcs (en for hver tabel). Som parameter sender jeg bl.a. @bruger_ref og i proceduren  kaldes proceduren "SetLog" som registrerer operationen sammen med tidspunkt, tabel og bruger_ref. Dette angives som parametre til kaldet:

  EXECUTE SetLog @opret = 1,@brg_ref = @bruger_ref,@tabel_navn = Ejer,@tabel_ref = @ref,@tekst = NULL

Det virker fint da det hele autogenereres, men kan det laves smartere vha. triggere?

Hvordan skal jeg få fat i bruger_ref og de andre informationer som skal logges. Er der et session-nummer som kæder det sammen? Hvis der er så kan jeg jo gemme det i bruger-tabellen og derved stykke oplysningerne sammen.
Avatar billede hrc Mester
27. oktober 2006 - 12:11 #1
Det ser ud til jeg kan bruge @@SPID til at holde styr på det. Når jeg logger ind så gemmer jeg SPID i bruger-tabellen og når foretages databaseoperation slår jeg op via det. Hvis jeg laver indeks spid'et og i øvrigt kører det på serveren, så burde det ikke sløve alt for meget.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester