PDA

View Full Version : Externe Datenstruktur dynamisch



Stefan_Sk
06-12-05, 11:58
Hallo

Mal ne grundsätzliche Frage
ist es möglich eine EDS Dynamisch wärend der Laufzeit
zu definieren.

mfg Stefan

Fuerchau
06-12-05, 13:03
Da EDS eine Compiler-Angabe ist und die Felddefinitionen somit zur Compile-Zeit festgelegt werden, kann eine EDS nicht dynamisch sein.

BenderD
09-12-05, 08:59
Hallo,

nicht direkt, aber man könnte eine beliebige Externe Datenstruktur zur Laufzeit aus einem beliebigen anderen Modul importieren. Vielleicht solltest du mal das Problem beschreiben und nicht den vermuteten Lösungsansatz.

mfg

Dieter Bender


Hallo

Mal ne grundsätzliche Frage
ist es möglich eine EDS Dynamisch wärend der Laufzeit
zu definieren.

mfg Stefan

Stefan_Sk
09-12-05, 12:20
Hallo,

nicht direkt, aber man könnte eine beliebige Externe Datenstruktur zur Laufzeit aus einem beliebigen anderen Modul importieren. Vielleicht solltest du mal das Problem beschreiben und nicht den vermuteten Lösungsansatz.

mfg

Dieter Benderich möchte mittels dynamischen sql eine belibige abfrage
machen und dann das ergebnis in einer datenstrucktur ablegen.
ich kenne das zb von php


$res = mysql_query($query, $link);
$data = mysql_fetch_array($res);

so eine lösung wären ideal weis nicht ob das geht.
wäre auch egal wenn man die felder nur mit indexnr ansprechen könnte.

vieleicht könnt ihr mir helfen

mfg stefan

Fuerchau
09-12-05, 12:41
In RPG geht das auch mttels
FETCH MyCursor using :MYSQLDA

Hierfür musst du per "Describe statement" die benötigte Struktur ermitteln, eine SQLDA-Struktur anlegen (z.B. per %alloc) und für die Zielvariablen Speicher vergeben.
Allerdings alles etwas aufwändig.

Da ILE/RPG keine Script-Sprache ist, ist Dynamik mit etwas mehr Aufwand zu realisieren.

BenderD
09-12-05, 14:40
Hallo,

das sieht mir nach SQL CLI aus, auf den embedded SQL Precompiler würde ich mich da nicht einlassen, das Tool ist Steinzeit. Ich würde das ohnehin eher mit generierten Zugriffsmodulen versuchen.

mfg

Dieter Bender


ich möchte mittels dynamischen sql eine belibige abfrage
machen und dann das ergebnis in einer datenstrucktur ablegen.
ich kenne das zb von php


$res = mysql_query($query, $link);
$data = mysql_fetch_array($res);

so eine lösung wären ideal weis nicht ob das geht.
wäre auch egal wenn man die felder nur mit indexnr ansprechen könnte.

vieleicht könnt ihr mir helfen

mfg stefan

Stefan_Sk
12-12-05, 11:40
Hallo,

das sieht mir nach SQL CLI aus, auf den embedded SQL Precompiler würde ich mich da nicht einlassen, das Tool ist Steinzeit. Ich würde das ohnehin eher mit generierten Zugriffsmodulen versuchen.

mfg

Dieter Bender

was meinen Sie mit generierten Zugriffsmodulen ??

Robi
12-12-05, 13:29
Wir haben etwas ähnliches gemacht. Muste damals auch fragen. Hier der link, mit dessen Hilfe wir es geschaft haben.
http://www.rlpforen.de/showthread.php?t=6996
gruß
Robi

BenderD
16-12-05, 09:23
Hallo,

ein Zugriffsmodul hat ein festgelegtes set an procedures, die für Datenbankoperationen benötigt werden:
- getRecordByKey
- getNextRecord
- saveRecord
- deleteRecord
- setOrder
- setFilter
pro Table (oder View) benötigt man eines
die Procedure Interfaces sind jeweils gleich aufgebaut.
Um sich Arbeit zu sparen schreibt man ein generalisiertes und einen kleinen Generator, der aus der Beschreibung einer Table im SQL Repository und dem Muster den Rest generiert.

mfg

Dieter Bender


was meinen Sie mit generierten Zugriffsmodulen ??