Anmelden

View Full Version : SQLRPG und Commit



Liebhoff
13-03-08, 08:58
Ich führe in einem SQLRPG diverse SQL in der Form:

exec sql execute immediate :command;

aus.

Das Programm wurde mit COMMIT *NONE in den Umwandlungsparametern erstellt.

Wenn ich einen CREATE TABLE absetze, erhalte ich folgende Meldung:

Tabelle XY in LIBXY erstellt, Tabelle konnte jedoch nicht im Journal aufgezeichnet werden.

Das ist auch richtig so ich will alles ohne Commitsteurung machen und funktionieren tut alleserstmal, ich kann mit INSERT auch Sätze in die Tabelle schreiben.

Obige Meldung lässt mich jetzt aber vemuten, dass die Commitsteurung doch aktiv ist und somit meine INSERT davon betroffen sind und das Programm dadurch natürlich langsam wird.

Weiß jemand genaueres ?

Würde es helfen, im Programm noch folgendes zu kodieren ?

/exec sql set options commit=*none
/end-exec

Und muß ich das vor jeder SQL Anweisung tun oder nur einmal im Programm.

Jede Antwort hilft.

Danke Thomas

Fuerchau
13-03-08, 09:06
Obige Einstellung hilft mit Sicherheit.

Ansonsten ist die Meldung beim Create Table allerdings Standard, da SQL immer versucht, eine neue Tabelle in eine Journal aufzunehmen.
Die Meldung ist auch nur als Warnung zu verstehen.

cimbala
13-03-08, 09:26
Muss diese Einstellung einmalig gemacht werden oder vor jeden SQL?
In einem anderen Forum habe ich gefunden, das diese Anweisungen garnicht ausgeführt werden sondern nur für den Compiler dienen.

Fuerchau
13-03-08, 09:36
Letzteres stimmt.
Ausserdem muss dieses die 1. SQL-Anweisung der Quelle sein.