PDA

View Full Version : SQL-Paket zur Laufzeit erstellen



Frank ter Duis
23-11-09, 12:48
Hallo,

ich arbeite gerade an einem dynamischen, systemübergreifenden Datenaustauschprogramm. Dabei laufen einige Prüfroutinen per SQL (ILE RPG; embeddet SQL).

Die Systeme sind frei konfigurierbar. Gibt es eine Möglichkeit die SQL Pakete automatisch zur Laufzeit auf den Zielsystemen zu erstellen? Oder habe ich nur die Möglichkeit per vorgelagertem CL (CRTSQLPKG) das SQL Paket zu erstellen.

Danke für Eure Hilfe,

Gruß Frank ter Duis

Fuerchau
23-11-09, 13:44
Du kannst CRTSQLPK auch per QCMDEXC erstellen, aber am Verfahren ändert das nichts.

Das Problem ist noch, dass auf dem Zielsystem die Berechtigung *PUBLIC *EXCLUDE vergeben wird!

Frank ter Duis
23-11-09, 13:55
Ganz grob würde ich jetzt wie folgt vorgehen:

CL:
CRTSQLPKG (auf Fernen System)
Call SQLRPGPGM mit Connect zum Fernen System
DLTSQLPGK (auf Fernem System)Wobei ich gerade sehe, das ich beim DLTSQLPKG kein System angeben kann, und davon ausgehen, das nur lokale SQLPKG's gelöscht werden. Wie ich ferne SQLPGK's löschen muß ich noch mal schauen.

Gruß Frank

Fuerchau
23-11-09, 14:39
Das kannst du nur mit RUNRMTCMD.
Alternativ gehts auch mit dynamischem SQL per CLI (C-Routinen) und "CALL QCMDEXC", da zur Ausführung von dynamischem SQL leider auch das SQLPKG des Programmes auf dem Zielsystem bereits erforderlich ist.