PDA

View Full Version : Anzahl der Host-Variablen geringer als die Ergebniswerte



hartmuth
15-09-14, 04:11
Seit zwei Wochen funktioniert eine wichtige SQL-Abfrage mit einer ganzen Reihe von UDFs leider nicht mehr, sondern es kommt besagter Fehler zurück. Dieser wurde lt. Google schon gemeldet, aber passende Antwort habe ich noch nicht gefunden.Da viele UDFs verwendet werden, ist es auch schwierg, das betroffene zu lokalisieren, zumal ich eben den Sinn der Nachricht nicht verstehe. Danke wieder im Voraus für Unterstützung. Betriebssystem-Version V6R1

B.Hauser
15-09-14, 06:07
Ich gehe davon aus , dass es sich um SQLCODE 30 handelt, was KEIN Fehler sondern eine Warnung ist! (Fehler sind nur SQLCODEs < *Zeros!)

Deshalb sollte man auch nie auf SQLCODE = *Zeros abfragen, sondern immer auf SQLCODE = 100 OR SQLCODE < *Zeros.

Diese Fehlermeldung tritt z.B. auf, wenn SELECT * gemacht wurde und die zugrunde liegen Dateien/Tabellen/Views geändert wurden, oder das SELECT-Statements geändert wurde, ohne dass die Host-Datenstruktrur oder die Host-Variaben entsprechend angepasst wurden.

Mit UDFs hat das nur insofern etwas zu tun, wenn sich die Anzahl der UDFs in dem SELECT-Statement geändert hat.

Birgitta

hartmuth
15-09-14, 06:33
Danke für die rasche Antwort.
Mein Problem ist nun, dass die betreffende Abfrage dazu benutzt wird, die Daten aus einer Tabelle in ein BI-Tool einzulesen und diese Abfrage kommt offensichtlich zu keinem Ende mehr bzw. ich muss sie nach 12 Std. abbrechen, weil lt WRKACTJOB 50 % der Resourcen dafür verwendet werden.

BenderD
18-09-14, 09:57
Danke für die rasche Antwort.
Mein Problem ist nun, dass die betreffende Abfrage dazu benutzt wird, die Daten aus einer Tabelle in ein BI-Tool einzulesen und diese Abfrage kommt offensichtlich zu keinem Ende mehr bzw. ich muss sie nach 12 Std. abbrechen, weil lt WRKACTJOB 50 % der Resourcen dafür verwendet werden.

... falls keine Releasewechsel war und keine PTFs eingespielt wurden, sieht das danach aus, dass der access plan im package neu berechnet wurde. Ich würde als erstes mal das im ODBC connect hinterlegte package löschen, bzw, bei JDBC den extended package support deaktivieren. Wenn das nix hilft den Database Server Job unter debug setzen, dann werden diagnostics über dien Zugriffsplan im Joblog protokolliert, falls das immer noch keine Erkenntnis bringt, würde ich dann mit dem Database Monitor weiter untersuchen.

D*B