Anmelden

View Full Version : Kann ein SQL Cursor übertragen werden?



Seiten : 1 2 [3]

BenderD
11-03-16, 10:58
... ich muss dich leider korrigieren, der Precompiler löst die Datenstrukturen alle in Einzelfelder auf und erstellt eine SQLDA. Beim select feldliste in Feldliste passiert rein garnix, solange man keine Felder entfernt oder inkomatibel ändert.
Beim select * werden nach Änderung an der Datei die Felder gemäß dieser SQLDA nach Reihenfolge in Felder gemapped, wenn alles verträglich ist, kommt eine warning hinterher, dass er zu wenige Host Variablen hatte. Mit anderen Worten: hängt man neue Felder hintendran, passt alles - ohne recompile.
Beim irgendwann erfolgenden Recompile passt alles, wenn man select * in die passende externe DS macht, oder beim select feldliste in feldliste angibt.

Datenzugriffsmodule, wie vom OP angesprochen ermöglichen eine sehr weitgehende Entkoppelung von Datenbank und Anwendungen und sind auf (fast) allen Plattformen weit verbreitet, lediglich die AS/400 community verharrt mit Macht im DV technischen Neolithicum.

D*B

Fuerchau
11-03-16, 11:56
Korrektur zur Korrektur.
Dann erkläre ich mich genauer:
Wenn ich in einer Prozedur einen Cursor "Select *" zurückgebe und die rufenden Prozedur dann den Fetch mit diesem Cursor durchführt kann es zu dem beschriebenen Effekt kommen, wenn ich nur den Service bei Strukturänderungen neu erstellt habe. Ich habe somit keinerlei Vorteile.

Siehe
"ich habe überlegt die eigentliche Fetchroutine in eine Copystrecke auszulagern, die dann ins Aufrufprogramm eingebunden wird."

BenderD
11-03-16, 11:59
... der cursor muss immer in derselben compileeinheit (module) declariert werden, in der auch der fetch verwendet wird - und dann gilt wieder genau das von mir oben geschriebene!

D*B

dholtmann
22-03-16, 16:39
deklariert werden soll der Cursor auch in dem Module, wie BenderD schrieb.
Ich hab da auch was zum laufen gebracht und mich von Copystrecken wieder getrennt.
Aber entgültig zufrieden bin ich noch nicht. Ich melde mich, wenn ich wieder Zeit zum basteln hatte.

BenderD
22-03-16, 19:40
... vielleicht noch mal genauer beschreiben, was Du da vorhast; ich bin relativ sicher, dass wir Dir da einen entsprechenden Vorschlag machen können - vielleicht haben wir das Problem noch nicht wirklich verstanden...