-
Hallo Andreas,
nur zur Information:
1. SQLCODE -404 = Wert für Spalte oder Variable &1 zu lang.
Den Fehlertext kann man relativ leicht in der Message-Datei QSQLMSG nachschauen. SQLCODE -404 --> Message Id SQL404. Die variablen Message-Texte (&1) werden im Feld SQLER3 ausgegeben.
2. Seit Release V5R3 kann der Message-Text auch relativ einfach im RPG-Programm ermittelt werden:
Code:
EXEC SQL ..... ;
If SQLCODE < *Zeros; //Fehler
Exec SQL Get Diagnostics Condition 1 :MsgText = MESSAGE_TEXT;
//Anzeige / Verarbeitung
EndIf;
... auf alle Fälle sollte der SQLCODE IMMER nach einem SQL-Statement geprüft werden.
Birgitta
-
... das ging aber vorher auch schon schief, dass in 20 Byte keine 50 reinpassen hat sich doch mit dem Release nicht geändert und da kam auch derselbe SQL-Köter zurück und hat den Programmierer gebissen...
D*B
 Zitat von lucullus
Moin, moin,
so vielen Dank für die vielen Antworten, Anregungen und erhobenen Zeigefinger.
Das Problem ist mit der Beseitung des Feldlängenfehlers behoben.
Der SQLCOD war -404
Ich/wir geloben Besserung bei Achtung von Warnhinweisen.
Nochmals Danke an alle.
Andreas
-
 Zitat von BenderD
... das ging aber vorher auch schon schief, dass in 20 Byte keine 50 reinpassen hat sich doch mit dem Release nicht geändert und da kam auch derselbe SQL-Köter zurück und hat den Programmierer gebissen...
D*B
... unsauber war es allemal!
Aber IBM hat in den letzten Releasen bei einigen Unsauberkeiten, die vorher toleriert bzw. nicht geprüft wurden, das Error Level angehoben, d.h. anstatt einer Warnung (positiver SQLCODE) wird ein Fehler ausgegeben.
Beispiel: Lokale Definition von Host Variablen. Unter Release V5R2 konnte die gleiche Variable in problemlos mehreren Prozeduren lokal definiert und in SQL-Statements verwendet werden. Mit Release V5R3 wurde in solchen Situationen bei der Compilierung Error Level 30 ausgegeben.
Birgitta
-
Speziell zu letzterem haben es sich die SQL-Precompilerentwickler zu einfach gemacht, denn lokale Variablen sind nun mal lokal und werden durch die SQL-Auflösung, also die generierten RPG-Anweisungen, nicht global.
Statt also den Errorlevel anzuheben hätten die sich eher Gedanken über die Erkennung von globalen und lokalen Variablen machen müssen.
-
 Zitat von Fuerchau
Speziell zu letzterem haben es sich die SQL-Precompilerentwickler zu einfach gemacht, denn lokale Variablen sind nun mal lokal und werden durch die SQL-Auflösung, also die generierten RPG-Anweisungen, nicht global.
Statt also den Errorlevel anzuheben hätten die sich eher Gedanken über die Erkennung von globalen und lokalen Variablen machen müssen.
Ist ja inzwischen behoben!
In V5R4 konnten gleiche Variablen (gleiche Definition) bereits problemlos lokal definiert und verwendet werden. Nur mit abweichender Definition (z.B. LocText als 256A varying und LocText als 50C) gab es Probleme.
Seit Release 6.1 können lokale Variablen auch abweichend definiert werden und in embedded SQL verwendet werden.
... übrigens die Antwort, die ich damals von IBM erhalten habe war, dass durchaus dokumentiert war, dass eine Host-Variable nur einmalig innerhalb einer Quelle definiert werden sollte (was auch stimmte!). IBM hatte es jedoch vor V5R3 nicht geprüft und die erste Definition genommen, die sie gefunden hatten.
Birgitta
-
@Birgitta: Wie immer sehr kompetent und vor allem informativ!
Man merkt, dass du einen guten und direkt Draht zur IBM hast 
Deine insider Infos sind eine gute Ergänzung zum Infocenter 
lg Andreas
Similar Threads
-
By mk in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 13-07-12, 08:53
-
By synus in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 06-10-06, 15:38
-
By wuwu in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 18-07-06, 15:31
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
-
By mdhl in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 18-05-06, 13:27
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