SQLCODE -805/-818 analysieren

Ursachen für Programmabbruch mit -805 oder -818 suchen

Die Situation: Ein Anwendungs-Programm bricht mit -805 (Package-Fehler) oder -818 (DBRM-Fehler) ab! Die folgende Beschreibung soll Dich bei der Analyse des Fehler untersützen  und Dir mögliche Ursachen aufzeigen.

Vorgehensweise:

  1. Aus dem Text der DSNTIAR-Meldung die voneinander abweichenden Timestamps bzw den Timestamp des Consistency Tokens notieren. Steht keine DSNTIAR-Meldung zur Verfügung, ggf. Monitor/Trace  Information nutzen.
  2. Per QMF, DSNTEP2 oder SPUFI aus SYSDBRM bzw SYSPACKAGE den TIMESTAMP bzw CONTOKEN hexadezimal ausgeben lassen. Unter der Spalte PDSNAME findet man die DBRM Source-Library. Ist das DBRM oder  Package nicht vorhanden, dann muß der BIND wiederholt werden.
  3. Im DBRM-Source des BIND PLAN oder BIND PACKAGE den Timestamp per Editor ("FIND X'tstamp'") suchen. Wird der Timestamp nicht gefunden, muß der BIND wiederholt werden.
  4. Im Load Module per Browse Mode des Editors den Timestamp suchen. Aufgepasst: Die 'Vollworte' des Timestamp sind hier umgedreht verzeichnet - der DBRM-Timestamp XXXXYYYY steht im Load-Module als  YYYYXXXX! Wird der Timestamp nicht gefunden, muß das Programm von einer anderen Load Library aus gestartet worden sein.

Häufige Ursachen eines SQL Codes -805 bzw -818:

  • Precompile, Compile und Link wurden ohne Bind ausgeführt
  • Bind bezog sich auf eine inkorrekte DBRM Source-Library
  • Precompile, Compile und Bind wurden ohne Link ausgeführt
  • Ein altes Load Module kam zur Ausführung
  • PACKAGESET-Register fehlerhaft und Package nicht gefunden oder nach Package statt DBRM gesucht
  • SERVER-Register fehlerhaft u/o Package nicht auf Server gefunden

 

Haben Sie noch weitere Anregungen zu diesem Beitrag?

Tipp: Contoken umrechnen: IBM z/OS Store Clock Converter

DB2 ist ein Produkt der
IBM Corporation. Bitte
Copyright-  und Trademark-Hinweise beachten!

© Gernot Ruban