-
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 I, U, D, C 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
-
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';
-
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
-
... 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
-
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
-
By CaddyMajor in forum NEWSboard Programmierung
Antworten: 14
Letzter Beitrag: 25-06-14, 08:22
-
By lorenzen in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 12-12-02, 16:46
-
By Sven Schneider in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 03-09-02, 07:31
-
By lorenzen in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 27-08-02, 14:59
-
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
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks