-
Hallo,
ja es findet schon beim Prepare ein Fehler statt.
PHP-Code:
Nachrichten-ID . . . . . . . : SQL0311 Nachrichtendatei . . . . . . : QSQLMSG Bibliothek . . . . . . . . : QSYS Nachrichtentext . . . . . . : Länge einer Host-Variablen variabler Länge oder einer LOB-Host-Variablen ungültig.
Aber ist jetzt mein SQLSTM(jetzt STMSQL ^^) zu lang?
D STMSQL 1024A varying
Eine andere Variable wird ja im Prepare nicht benutzt.
Gruß Martin
-
Prüfe genau den Inhalt deiner Variablen STMSQL (ggf. hex, dann wird auch das Längenattribut angezeigt), ggf. lass besser das varying weg.
-
Es lag scheinbar am varying. Aber meinen Qualifizierten Namen mag er nicht. Entweder SQL5016(Qualifizierter Objektname &1 nicht gültig.): LIB.FILE
oder SQLCOD0104(Token &1 ungültig. Gültige Token: &2.) bei LIB/FILE oder nur FILE.
Gibt es noch andere Zusammensetzungsmöglichkeiten?
Gruß Martin
-
Schau dir den String mal genau (auch HEX) an. Vielleicht enthält dein STMSQL ja irgendwo ungültige Zeichen, ansonsten kann ich mir das nicht erklären.
Ggf. ist das auch VARPG-spezifisch, dass nicht mit mehreren LIB's umgegangen werden kann.
In diesem Fall musst du OVRDBF's (per CALL) absetzen und ohne Qualifizierung arbeiten.
-
Ich arbeite zz ja gerade einmal mit einer Lib. Es ist ein ganz einfacher "Select * from Lib/Table".
Ich habe auch schon probiert das Programm nur auf der i5 auszuführen, bzw den String fest ins Programm zu schreiben. Hat leider beides nichts geholfen.
Muss die zu compilierende Datei evtl von einer anderen Art als SQLRPGLE sein?
Gruß Martin
-
Die Art des Programmes bleibt SQLRPGLE.
Mach das Ganze mal auf der AS/400 und schau dann mal ins Joblog. Hier muss es weitere Hinweise geben.
-
Ich habe den Fehler gefunden. Den '*' mag er nicht. Dh. es gibt keine Möglichkeit alle Felder zu selektieren ohne alle anzugeben?
Gruß Martin
-
Das mag ein Problem sein, allerdings gibt es für so was die Describe-Befehle um die Feldnamen einer Tabelle zu ermitteln.
Anscheinend wird "select * ..." nur vom CLI-Interface unterstützt.
-
Also müsste ich mir um einen "Select * ..." abzusetzen ein ILE RPG Programm mit CLI schreiben... Das ist auch etwas dumm von IBM umgesetzt worden...
Auf jeden Fall danke für die Information.
Gruß Martin
-
Das ist gar nicht dumm sondern liegt am Prinzip des embedded SQL's.
Per
describe table :SqlTableName into :SQLDA
kannst du entsprechende Information abfragen.
Eine SQLDA kannst du vorher anlegen, den Select kannst du dann entsprechend zusammen bauen.
Zugegeben etwas mühsam, aber ich habe es so bisher immer gemacht.
Mein Tool SQLCPY arbeitet genau so.
-
Ja leider ist das wirklich etwas mühsam aber anders wird es eben nicht gehn.
Gruß Martin
Similar Threads
-
By christian_lettner in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 16-11-06, 10:15
-
By FNeurieser in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 11-10-06, 14:53
-
By malzusrex in forum IBM i Hauptforum
Antworten: 8
Letzter Beitrag: 19-09-06, 11:04
-
By Kaufmann in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 28-06-06, 14:11
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
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