Visual Explain und Hostvariable
- Dieses Thema hat 11 Antworten und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 19 Jahre, 2 Monaten von
Anonym.
-
AuthorPosts
-
20. Juli 2004 um 5:43 Uhr #2427
AnonymGastHallo,
ich bin seit heute Mitglied im Forum! *freu*;D
Meine Fragen:
Wie muss ich beim VE8 mit Hostvariable auf Z/OS umgehen?
Wir haben mehrere Cursor mit vielen Hostvariablen und so wie es den Anschein hat, muß jede per Hand mit einem
Wert gefüllt werden. Gibt es da keine andere Lösung? ???Gibt es eine Doku für den VE8 und wenn ja: Wo?
Danke schonmal
und schöne Grüße aus MünchenMichael
20. Juli 2004 um 7:29 Uhr #2906
AnonymInaktivHi Michael,
warum sollen die Variablen ersetzt werden? Wenn es statisches SQL ist, kennt der Optimizer ihre Werte beim BIND auch nicht – und legt die Zugriffe "blind" fest.
Nur bei dynamischem SQL ohne Parameter-Marker und bei statischem SQL mit REOPTS(VAR) kann der Optimizer die Werte in den Prädikaten auch berücksichtigen (Der Preis dafür ist der explizite oder implizite PREP zur Laufzeit).
MfG
AxelP
20. Juli 2004 um 7:48 Uhr #3250
AnonymGastHallo AxelP,
danke für die antwort.
Ich bekomme den SQL-Error -312 (unzulässige oder undefinierte Hostvariable) wenn ich mit Hostvariablen arbeite. Wie kann ich diesen Error umgehen?Michael
20. Juli 2004 um 8:10 Uhr #3476
AnonymInaktivHi Michael,
wird der SQL-Text direkt in den Explain eingegeben, ist das quasi dynamisches SQL und die Host-Variablen müssen durch Parameter-Marker (?) ersetzt werden.
MfG
AxelP
20. Juli 2004 um 8:15 Uhr #3622
AnonymGastHi AxelP,
wenn ich Fragezeichen eingebe, erhalte ich den SQL-Fehler -99990 Wrong Number of parameters…
??? :-/Michael
20. Juli 2004 um 8:27 Uhr #3732
AnonymGast…oder Invalid token found… ich habe es so versucht:
1. ‚:?‘
2. ‚?‘
3. ?
4. 😕bei KEINEM der Versuche hat er die Hostvariablen aktzeptiert. was ist das für ein Programm dieser Visual Explain V8 der nicht mal Hostvariable kennt??? Frust macht sich breit… >:(
Michael
20. Juli 2004 um 11:42 Uhr #3804
AnonymInaktivDas ? sollte reichen! Ich habe zur Zeit keinen VE 8 zur Hand, so daß ich das Problem nicht nachstellen kann.
AxelP
21. Juli 2004 um 8:52 Uhr #3848
AnonymGastHi,
nein, es geht mit keinem der angegeben Zeichen. Unsere DB2-System-Programmierer haben mir das bestätigt. Der VE8 kann die Hostvariablen nicht "mappen". Was immer das bedeuted.
Michael
21. Juli 2004 um 10:09 Uhr #3881
AnonymInaktivHi Michael,
da bin ich doch etwas erstaunt: Ich habe in meinen Unterlagen noch Screenshots von VE 7 mit Befehlen wie
SELECT * FROM SYSIBM.SYSTABLES WHERE NAME <> ?Da hat Visual Explain eine nette Grafik erstellt – ohne zu meckern.
AxelP
21. Juli 2004 um 10:46 Uhr #3905
AnonymGastHallo RobertP,
sorry, :-[
ich habe vergessen zu erwähnen, daß der Fehler auftritt, wenn ich das Statement ausführen will.
Das geht nicht, der Explain geht schon, aber ich will ja auch die Laufzeit wissenMichael
21. Juli 2004 um 10:47 Uhr #3918
AnonymGastupps!! ich meinte natürlich: AxelP
Michael
21. Juli 2004 um 11:47 Uhr #3929
AnonymInaktivDen Verdacht hatte ich die ganze Zeit, aber es schien mir doch zu abwegig, dies zu äußern!
Selbstverständlich müssen für die Ausführung die Parameter-Marker gegen echte Werte getauscht werden (wie bei einem EXECUTE .. USING oder im Programm mit Host-Variablen).AxelP
-
AuthorPosts
You must be logged in to reply to this topic.