PDA

View Full Version : kein Rollback auf getriggerte ArchivFile



Seiten : [1] 2

User_
14-05-24, 09:25
Hallo, habe folgendes Problem.
Zu archivierende Daten, wandern Transaktionsbezogen in eine Archiv-Tabelle, die durch einen SQL-Trigger angesprochen wird. Auslöser (*insert, *update, *delete).
Beide Tabellen werden im gleichen Journal ausgezeichnet.
Wenn der Caller rollback ausführt , reagiert der trigger nicht .
Wo kann hier die Unschärfe sein?
Bin dankbar über euer Feedback!!
Gruss

B.Hauser
14-05-24, 09:28
Unterschiedliche Aktivierungsgruppen?

User_
14-05-24, 09:33
nein , die gleiche .

Robi
14-05-24, 10:12
ist das nicht doppelt?
Das System löscht aus der Tabelle UND aus der Archiv-Tabelle.
Der Trigger springt beim löschen aus der Tabelle an und will auch löschen?

Das beisst sich?!

User_
14-05-24, 10:29
Nein ist es nicht . Warum sollte dies so sein ? Es gibt Löschanforderungen , die auch das Archiv ansprechen sollen . Da ist kein Wiederspruch in sich.

Andreas_Prouza
14-05-24, 11:13
Kann es sein, dass der Trigger ohne Commit läuft?

User_
14-05-24, 11:43
beide , caller und trigger laufen mit *chg .

Andreas_Prouza
14-05-24, 12:57
Ich würde da mal ein DB Monitoring starten und das Ergebnis im Detail analysieren.
Wenn alle in der selben ACTGRP und der Trigger ebenfalls unter Commit läuft, wäre das hier ein Bug, da ein Trigger an sich nichts mit der Commitsteuerung zu tun hat.

User_
14-05-24, 13:16
Einen Bug hab ich mit Sicherheit im Prozess , in der Abfolge der Steps und des Quellencodes , etwas mach ich falsch und/oder übersehe es und verstehe es auch nicht vollumfänglich .....
Ich sehe den Trigger , der vom OS korrekt aufgerufen wird, für alle drei events. Läuft alles korrekt .
Ich sehe Ihn nicht , wenn der Caller Rollback ausführt ( was eigentlich korrekt wäre ) . Hier übernimmt doch die Commit-Steuerung der Collection , im Hintergrund , oder? . Aber woher weiß die Transactionssteuerung , dass , die im trigger bediente Archiv-Tabelle , auch zurückgeschrieben werden muss ? Wo ist da die Verbindung ? Das aufzeichen allein reicht doch nicht aus ? Wer weiß ( oder sollte wissen ) welche Sätze zusammen gehören , die zurückgeschrieben werden müssen .
Ich hoffe ich konnte mich klar ausdrücken .

User_
14-05-24, 13:19
mit zusammen gehören sind die beiden Tabellen gemeint , deren Daten aufgenommen werden , die des Callers und die des Triggers . Identische Keys , Satzlänge etc...