WebServices verwendet man normalerweise nur, wenn die Client's von irgendwo über das WWW ihre Verbindung aufbauen müssen. Ein Umweg denn ich für den Einsatz im Intranet auf jeden Fall vermeiden würde.
Man kann auch SQL StoredProcedures und RPG-Programme kombinieren und z.B. eine ganze Datei an das .NET zurückzugeben.
Beispiel:
Aufgrund von Parameter1 soll das RPG-Programm (ALTESRPG) die Ausgabedatei QTEMP/OUTPUT erstellen.
PHP-Code:
CREATE PROCEDURE LIB/ALTESPGM (IN PARAM1 CHAR(10))
LANGUAGE SQL
NOT DETERMINISTIC
READS SQL DATA
DYNAMIC RESULT SETS 1
BEGIN
DECLARE c1 CURSOR WITH RETURN FOR
SELECT *
FROM QTEMP/OUTPUT;
CALL LIB/ALTESRPG (PARAM1);
OPEN c1;
END
statt einem SELECT verwendet man CALL in der DB-Verbindung:
cm_SQL.CommandText = "{CALL LIB.ALTESPGM(?)}"
..
Wie bei einem Select erhält man ein auch in diesem Fall ein RecordSet mit den Sätzen der ALTESRPG-Ausgabe.
Das ist nicht nur weniger Aufwand, wie der Umweg WebServices, sondern auch wesentlich performanter.
Robert P.
Bookmarks