Hallo fans , ich hab da mal ne Frage:

Nun kann man ja bei ODBC/JDBC die Bibliotheksliste für die Verbindung setzen.
Leider gibt es darüber keine Fehlermeldung wenn der CHGLIBL auf der AS/400 fehlschlägt (Lib nicht da, keine Berechtigung).
In diesem Fall bleibt die Default-QUSRLIBL bestehen.

Dies ist noch nicht so schlimm, die Auswirkungen erfolgen dann später.

Nun wird mittels SQL-Select eine oder mehrere UDF's aufgerufen deren Ergebnis auch NULL sein darf.
Wenn nun irgendein DAU die Libl der Verbindung so ändert dass sie nicht gesetzt werden kann bzw. die Berechtigung auf der AS/400 ändert, läuft die UDF auf einen Fehler und SQL nimmt nun leider das NULL-Ergebnis an.
M.a.W, der SQL läuft einfach weiter, erzeugt viele Joblog-Nachrichten oder gar Programm-Dumps die das System in der CPU-Last schnell auf größer 90% bringt sowie auch den Speicher der 90%-Marke schnell näherbringt.

Das Problem ist aber, dass die ODBC-Anwendung das Ergebnis nun für richtig hält und damit dann auch weiterarbeitet.

Ich suche nun nach einer Lösung, den SQL abbrechen zu lassen, wenn UDF's auf Fehler laufen.
In CHGQRYA sowie in den QAQQINI-Einstellungen kann ich nichts finden (aktuell V6R1!).

Nun kann ich aber die ODBC-Anwendung nicht ändern. Der selbe Fehler kommt auch z.B. beim Ausführen von OpsNav-SQL-Scripts.

Weiß jemand Rat?