[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Zitat Zitat von B.Hauser Beitrag anzeigen
    4. Es sollte nie auf SQLSTATE = 0200 oder SQLCODE = 0 abgefragt werden, sondern immer auch die Fehlersituationen berücksichtigt werden.
    Das ist ein guter Tipp von Birgitta!

    Bei uns hab ich das so eingeführt, dass bei einem Error oder Warning eine ESCAPE Message mit QMHSNDPM gesendet wird. Wodurch das Standard Errorhandling der Anwendung greift.

    Kurz:
    * Anfangs die Declarationen für SQL
    Code:
    Exec Sql Whenever SQLERROR   Goto SQLERROR;
    Exec Sql Whenever SQLWARNING Goto SQLERROR;
    Exec Sql Whenever NOT FOUND  CONTINUE;
    * Dann den Fehler/Warnung ermitteln
    * Und mit QMHSNDPM senden.

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.942
    @3) War mir bis dato nicht bekannt. Wo kann man den soetwas nachlesen?
    @4) Welche SQL Status muß ich dann abfragen?
    SQLCODE < 0 = Error
    SQLCODE >= 0 und <> 100 (Satz gefunden, mit oder ohne Warnung)
    SQLCODE = 100 (Satz nicht gefunden)

    Ob es sich bei dem SQL Status um einen Fehler, eine Warnung oder nicht gefunden handelt hängt von den ersten beiden Stellen des SQL Status ab:
    00 = Alles OK
    01 = Warnung
    02 = Nicht gefunden
    Weder 00 noch 01 noch 02 = Fehler

    Was mich bei der Lösung von Andreas stört, ist dass der WHENEVER einen GOTO bzw. einen TAG benötigt, was im Free Format RPG nicht zulässig ist.

    Wir haben eine Funktion, die nach jedem SQL-Statement aufgerufen wird und die den SQLCODE prüft. Im Fehlerfall wird die Fehlernachricht ermittelt und als Escape Message zurückgegeben.

    Einiges kann man in Database Embedded SQL Programming nachlesen.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

Similar Threads

  1. 0940 Fehler in Host-Services Ursachencode x'00000003'
    By ubas in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 20-05-14, 16:12
  2. RDi 9.01 Fehler Connection
    By camouflage in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 03-02-14, 10:45
  3. Fehler i.d. Lizenzverwaltung
    By Christof in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 20-10-05, 12:22
  4. Fehler bei FTP
    By K_Tippi in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 05-12-02, 12:41
  5. SQL- Fehler unter 4.5.
    By otto in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 19-09-02, 18:50

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •