PDA

View Full Version : SQL-Trigger erstellen?



Brunner
21-01-13, 08:45
Hallo und guten Morgen,

Ich versuche verzweifelt einen SQL-Trigger über ein RPG-Programm zu erstellen.
Das Programm wurde Umgewandelt und wenn ich es per "call" Aufrufe erstellt es mir die Trigger, aber sobald ich mich von der Green-Screen Sitzung wieder abmelde werden die Trigger wieder entfernt!
kennt jemand vielleicht ein Lösung dafür?

Über den ISeries-Navigator kann der Trigger nicht erstellt werden, da immer die Meldung kommt, das die Datei gerade von anderen Benutzern verwendet wird! :mad:

B.Hauser
22-01-13, 06:38
Was heißt bei Dir mit CALL erstellen??
Reden wir vom Erstellen der Programme oder vom anhängen der Trigger?

Es gilt auf alle Fälle (unabhängig davon ob SQL oder System Trigger verwendet werden), dass ein Trigger nur dann angehängt werden kann, wenn weder die physische Datei, noch eine abhängige logische Datei oder View in irgendeinem Job geöffnet sind.

Ich nehme also an, dass das gleiche Problem, das Du mit den SQL-Triggern hast auch auf die System-Trigger zutrifft.

Birgitta

Brunner
22-01-13, 11:50
Hallo,
wir reden im Prinzip vom Anhängen!
Da dieses eben nicht Funktioniert wenn die Datei verwendet wird habe ich mir ein RPG-Programm geschrieben welches Nachts die Trigger erstellt und Anhängt!
Nun ist aber das Problem, wenn ich diese Programm in einer Testumgebung aufrufe (weder die physische Datei, noch eine abhängige logische Datei oder View ist von irgendeinem Job geöffnet) werden die Trigger auch erstellt und Angehängt!
aber sobald ich mich von der AS/400 abmelde verschwinden die Trigger einfach wieder als hätten sie nie existiert!:(

B.Hauser
22-01-13, 11:59
Könnte es sein, dass Du das Ganze unter Commitment Control verarbeitest (Wird per Default beim Umwandeln von embedded SQL Programmen gesetzt) und vor Job-Ende keinen Commit ausführst?

Programme mit embedded SQL starten übrigens Commitment Control selber, sofern sie nicht gestartet ist.

Birgitta

Brunner
22-01-13, 12:33
Vielen dank! :D
mit Commit = *none hat es endlich funktioniert!
:)