SQL ist so angelegt, dass versucht wird die ODPs so lange wie möglich offenzu halten, da die Optimierung (und das Erstellen der ODPs) eine zeitaufwändige Angelegenheit ist.

Jedes SQL-Statement erhält seinen eigenen ODP, d.h. wenn das gleiche SQL-Statement x-Mal codiert ist und x-Mal ausgeführt ist, wird x-Mal optimiert.

Soweit ich weiß ist die Anzahl der offenen Zugriffswege per Default auf 512 Jobs begrenzt. In der Abfrage-Optionsdatei QAQQINI gibt es soweit ich mich erinnern kann eine Option, mit der diese Anzahl beeinflusst werden kann.

Wie Dieter bin ich der Meinung, dass die offenen Dateien (ODPs) nicht das Problem sind.

... aber versuch doch mal testweise folgendes:

Entferne die Bibliothek mit den offenen Datein aus der Bibliotheksliste und füge sie wieder hinzu. Dadurch sollten die von SQL geöffneten Dateien (bzw. die ODPs) geschlossen werden. Mit dieser Aktion kannst Du austesten, ob das wirklich das Problem ist. Ich schätze ist das dynamische SQL nicht sauber, d.h. das gleche statement mehrfach zu verwenden (was auch bei dynamischem SQL geht), wird immer neu generiert und optimiert.

... was mich außerdem wundert ist, dass die Dateien bereits nach der 1. Ausführung aufbleiben. Dies kann man nur durch eine spezielle Einstellung erreichen. (und von seiten der IBM wird abgeraten dieses Feature zu aktivieren!)

Birgitta