Fuerchau
19-05-11, 11:29
Ein CLOSQLCSR *ENDMOD dürfte keine Performance-Nachteile mit sich bringen, da es sich nur um einen logischen Close handelt.
Außerdem erfolgt der ja nur, wenn du den Cursor tatsächlich offen läßt, dein Close also nicht ausgeführt wird.
Wichtiger ist da schon eher:
Wird das Programm mit *INLR = *ON oder *OFF verlassen ?
Ist es das erste SQL-Programm in der Aufrufhierarchie überhaupt ?
Wenn ja, dann erfolgt beim 1. Aufruf ein impliziter Connect zur Datenbank, bei *INLR = *ON ein Disconnect.
SQL-Programme, die ich wahlweise aus anderen Programmen oder auch als SQL-Prozedur aufrufe, verlasse ich immer mit *INLR = *OFF!
Bisher konnte ich keine Performance-Einbußen feststellen und die Anzahl der ODP's bleib auch konstant.
Es könnte sich also tatsächlich um einen Fehler in SQL (ggf. beim Aufräumen) handeln.
Außerdem erfolgt der ja nur, wenn du den Cursor tatsächlich offen läßt, dein Close also nicht ausgeführt wird.
Wichtiger ist da schon eher:
Wird das Programm mit *INLR = *ON oder *OFF verlassen ?
Ist es das erste SQL-Programm in der Aufrufhierarchie überhaupt ?
Wenn ja, dann erfolgt beim 1. Aufruf ein impliziter Connect zur Datenbank, bei *INLR = *ON ein Disconnect.
SQL-Programme, die ich wahlweise aus anderen Programmen oder auch als SQL-Prozedur aufrufe, verlasse ich immer mit *INLR = *OFF!
Bisher konnte ich keine Performance-Einbußen feststellen und die Anzahl der ODP's bleib auch konstant.
Es könnte sich also tatsächlich um einen Fehler in SQL (ggf. beim Aufräumen) handeln.