[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2001
    Beiträge
    833

    Stored Procedure SQLSTATE 428B3

    Hallo zusammen,

    ich habe bei dem Aufruf einer Stored Procedure folgende Anweisungen
    PHP-Code:
    if ( aDbaction <> 'D' and
         
    aDbaction <> 'I' and
         
    aDbaction <> 'C' and
         
    aDbaction <> 'U'    Then

       SET FEHLERCODE 
    '99995' ;
       
    set Fehlertext =
            
    'aDbAction code ist ungültig nur I, U, D, C erlaubt' ;
    --   
    SIGNAL SQLSTATE FEHLERCODE SET MESSAGE_TEXT FEHLERTEXT ;
       
    SIGNAL SQLSTATE '99995' SET MESSAGE_TEXT FEHLERTEXT ;
       Return  -
    1;
    End if ; 
    Eigentlich müsste im RPG Programm in der
    SQLCA Datenstruktur die Variable
    SQLERM OF SQLCA mit der Fehlermeldung
    und die Variable SQLSTATE mit dem Wert 99995 gefüllt sein.

    Leider steht in der Varaible SQLERM OF SQLCA =
    PHP-Code:
     ....5...10...15...20...25...30...35...40...45...50...55...60

           1   
    ' 00000                                                     '

          
    61   '          ' 
    und in der Variable
    PHP-Code:
    SQLSTATE OF SQLCA '428B3' 
    Im Joblog stehen noch diese Info's
    PHP-Code:
    Nachricht aDbAction code ist ungültig nur IUDC erlaubt wurde von

           SIGNAL
    RESIGNAL oder RAISE_ERROR zurückgegeben.

         
    Anweisung GET DIAGNOSTICS beendet.

         
    Anweisung SET beendet.

         
    SQLSTATE-Wert 00000 ist nicht gültig.

         
    SQLSTATE-Wert 00000 ist nicht gültig.

     
    4>> dspjoblog 

    Der SQLCODE = -435 der angezeigt wird bedeutet das der WERT '00000' für SQLSTATE ungültig ist.

    Hat jemand eine Idee ?

    Könnte es ein PTF Problem sein ?

    Gruß
    Michael

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Du kannst dir nicht einfach irgendeinen SQLSTATE ausdenken, hier gibt es Regeln (siehe Handbücher).
    Probier doch einfach mal den Beispielcode aus:

    EXEC SQL SIGNAL SQLSTATE '75002' SET MESSAGE_TEXT = 'Customer number is not known';
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Jan 2001
    Beiträge
    833
    Hi Baldur,

    dein Beispiel ist auch ein selbst definierter SQLSTATE. Wir haben hier einige SP die dieses Verfahren
    verwenden. Bisher gab es damit kein Problem .

    Gruß
    Michael

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... nach ANSI würde da SQLSTATE '22023' passen, wobei mich die Pingeligkeit schon wundert, normalerweise orientiert sich DB2/400 ausschließlich am SQLCODE und schwindelt sich da auch schon mal den ihrer Meinung nach passenden SQLSTATE hinzu, nachdem sie das Original weggeworfen hat. Und was so diverse Datenbanken alles an SQLSTATEs werfen, das spricht jedem Standard Hohn.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #5
    Registriert seit
    Jan 2001
    Beiträge
    833
    Hi,

    ich habe jetzt einfach mal folgende Zeile eingebaut
    SIGNAL SQLSTATE '22504' SET MESSAGE_TEXT = FEHLERTEXT ;

    Hat aber absolut keine Änderung gebracht.

    Mich wundern besonders die Meldungen im Joblog:
    SQLSTATE-Wert 00000 ist nicht gültig.

    SQLSTATE-Wert 00000 ist nicht gültig.

    Ich habe keine Ahnung wo die herkommen.

Similar Threads

  1. Problem SQL Procedure
    By CaddyMajor in forum NEWSboard Programmierung
    Antworten: 14
    Letzter Beitrag: 25-06-14, 08:22
  2. Stored Procedure endlos
    By lorenzen in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 12-12-02, 16:46
  3. Java stored procedure
    By Sven Schneider in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 03-09-02, 07:31
  4. Stored Procedure
    By lorenzen in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 27-08-02, 14:59
  5. Löschen/Überschreiben einer Stored Procedure
    By Frank Pusch in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 13-06-01, 17:57

Berechtigungen

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