SQL-Code -104 bei Remote Unload mit DSNTIAUL
- Dieses Thema hat 2 Antworten und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 18 Jahre, 3 Monaten von
Anonym.
-
AuthorPosts
-
1. Juni 2005 um 12:00 Uhr #2554
AnonymGastHi @all,
habe folgendes Problem: Ich möchte eine remote (UDB-) Tabelle vom z/OS aus per DSNTIAUL mit SQL-Option entladen.
Das ist die DSNTIAUL-JCL:
//*
//VKDVENGA EXEC DB2TIAUL,PARAM=SQL
//UL.SYSPUNCH DD SYSOUT=X
//UL.SYSREC00 DD SYSOUT=X
//UL.SYSIN DD *
CONNECT TO VRC00744;
SELECT * FROM IFB.VKDVENGA;
//*Bei der Ausführung bekomme im Select ein -104. Hier die genaue Fehlermeldung (mit etwas unglücklichen Umbrüchen):
DSNT490I SAMPLE DATA UNLOAD PROGRAM
DSNT505I DSNTIAUL OPTIONS USED: SQL
DSNT503I UNLOAD DATA SET SYSPUNCH RECORD LENGTH SET TO 80
DSNT504I UNLOAD DATA SET SYSPUNCH BLOCK SIZE SET TO 80CONNECT TO VRC00744
CONNECT SUCCESSFUL
DSNT400I SQLCODE = 000, SQLSTATE = 00000, UNQUALIFIED SUCCESSFUL COMPLETION FROM DB2 UDB for AIX, Linux, HP-UX, Sun,
and WindowsDSNT502I ERROR IN DSNTIAUL SQL INPUT:
DSNT408I SQLCODE = -104, SQLSTATE = 42601, SYNTAX ERROR OR ACCESS RULE VIOLATION FROM DB2 UDB for AIX, Linux, HP-UX,
Sun, and Windows TOKENS ; * FROM IFB.VKDVENGA END-OF-STATEMENTEin remoter Unload gegen eine z/OS-Location funktioniert. Hat jemand eine Idee?
Danke, Rolf
9. Juni 2005 um 9:57 Uhr #3004
AnonymInaktivHallo Rolf,
DSNTIAUL ist nur für den Einsatz mit DB2 for OS/390 und z/OS vorgesehen. Das alte Assember-Sample-Programm gibt nicht mehr her und hat in der Konstellation ein Problem mit dem ";".
D.h., dass das Remote-Zugriff via CONNECT Statement nicht ausgeführt werden kann und dabei der PARM(‚SQL‘) nicht unterstützt wird.
Es gibt aber einen Work-Around (wenn alle Voraussetzungen in der Communications Database erfüllt sind, Plan DSNTIAUL+Local DBRM+Remote Package vorhanden sind): Einfach das Objekt über 3-Part-Name angeben also …
//VKDVENGA EXEC DB2TIAUL
//UL.SYSPUNCH DD SYSOUT=X
//UL.SYSREC00 DD SYSOUT=X
//UL.SYSIN DD *
VRC00744.IFB.VKDVENGA
//*Zu Beachten:
– kein Semikolon möglich
– keine Spalten Auswahl
– Prädikate (WHERE Conditions) nur bis Spalte 72Viele Grüße
Gernot
10. Juni 2005 um 8:00 Uhr #3318
AnonymGastHi Gernot,
Danke für die Antwort. Three-Part-Name funktioniert einwandfrei, hatte ich vorher bereits probiert. Eigentlich will ich nicht nur eine Tabelle entladen, sondern einen Join, deshalb brauche ich die SQL-Option. Dies war eigentlich nur ein Test um den Fehler einzukreisen.
Da muss ich mir wohl was anderes einfallen lassen, trotzdem Danke!MfG Rolf
-
AuthorPosts
You must be logged in to reply to this topic.