Transaktionen (transaction) [ERLEDIGT]

Advantage Database Server

Moderator: Moderatoren

Antworten
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Transaktionen (transaction) [ERLEDIGT]

Beitrag von UliTs »

Hallo allerseits,

ich setze vermehrt immer mehr Transaktionen ein, um die Datenintegrität zu erhöhen.
Momentan habe ich ein recht umfangreiches Konstrukt, welches mit Transaktionen noch nicht so richtig laufen will. Es kommt der Fehler
  • Native Error 5177 Trigger Execution failed
Innerhalb "transaction begin" und "Transaktion commit" benutze ich sowohl SQL-Befehle als auch zwischendurch Zugriffe mittels AdsOpenTable.
Kann es sein, dass man SQL-Befehle und Datenänderungen mittels AdsOpenTable etc. innerhalb Transaktionen nicht mischen darf?

Uli
Zuletzt geändert von UliTs am Di, 21. Mai 2013 14:57, insgesamt 1-mal geändert.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Transaktionen (transaction)

Beitrag von Tom »

Hallo, Uli.

Ich arbeite zwar nicht in dieser Weise mit der ADS, entnehme aber der Fehlermeldung, dass ein Trigger ausgelöst wurde, der jedoch nicht abgearbeitet werden kann. Trigger sind serverseitig aktive Funktionen, die im Fall bestimmter Datenmanipulationen ausgelöst werden. Ist es möglich, dass ein Statement inhaltlich einem definierten Trigger widerspricht?
Herzlich,
Tom
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Transaktionen (transaction) [ERLEDIGT]

Beitrag von UliTs »

Wer lesen kann, ist klar im Vorteil :D .
Es wird ein Fehler im Trigger sein ...
Bei Datenänderung mittels AdsOpenTable etc. war die Fehlermeldung nicht so ausführlich, so dass ich den Überblick verloren hatte 8) .

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Transaktionen (transaction) [ERLEDIGT]

Beitrag von UliTs »

Hallo Tom,

ja Du hast Recht. Danke für den Hinweis! Es sieht so aus, dass ich die Datenänderung innerhalb des Trigger blockiere ...
Trigger an sich sind eine feine Sache :)

Uli

Edit: noch etwas genauer zur allgemeinen Information:
Innerhalb der Transakton lege ich einen neuen Datensatz in einer Tabelle an. So lang die Transaktion aktiv ist, ist dieser Datensatz für andere Serververbindungen nicht sichtbar bzw. änderbar.
In einer zweiten Tabelle trage ich ebenfalls Daten ein. Diese Tabelle enthält jedoch einen von mir geschriebenen Trigger, der wiederum (redundante) Daten in der ersten Tabelle aktualisieren möchte. Da dies direkt auf dem Server geschieht, kommt es vermutlich zum Fehler.
Theoretisch müsste der ADS wissen, durch welche Serververbindung der Trigger ausgelöst wird, oder?
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Antworten