Autor Beitrag
MisterBum83
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 245
Erhaltene Danke: 2

WIN XP
Delphi 6
BeitragVerfasst: Do 03.12.09 17:40 
Hallo zusammen,

ich möchte gerne alle Feldänderungen in allen Tabellen einer Firebird-Datenbank protokollieren. Dies würde über Trigger zu jeder Tabelle ja wunderbar funktionieren.
Jedoch muss zu jeder Änderung ein Benutzername mit protokolliert werden, der die Änderung im Delphi-Programm gemacht hat. Dieser ist für jeden Programmbenutzer unterschiedlich und wird nur bei der Anmeldung am Programm abgefragt. Es handelt sich hierbei nicht um den Benutzer, mit dem die Datenbankanmeldung erfolgt.

Nun meine Frage:
Wie kann ich dem Trigger mitteilen, welchen Benutzer er bei der Speicherung einer Änderung mit eintragen soll?
Oder habt ihr eine andere Idee, wie ich dies für ca. 500 Tabellen und 10000 Felder lösen kann?

Gruß und Dank
MisterBum
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Do 03.12.09 17:43 
könntest du nicht ne extratabelle anlegen die den zeitpunkt der änderung und den benutzernamen einträgt. wenn du den timestamp auf ne hunderstelsekunde genau hast könntest du doch die transaktionen halbwegs eindeutig zuordnen, oder? oder du generierst ne transaktionsnummer statt dem timestamp die in beiden tabellen vorkommt.

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
MisterBum83 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 245
Erhaltene Danke: 2

WIN XP
Delphi 6
BeitragVerfasst: Do 03.12.09 19:13 
Funktioniert das denn in Delphi, dass ich eine Transaktionsnummer ermitteln kann und auch in Firebird-Trigger?
Diese könnte ich dann in eine Tabelle mit Benutzer eintragen und im Trigger dann über die Transaktionsnummer nachschauen.