
Zitat von
Christian.Hesse
...
Das man Programme auch mit einer Datenbankverbindung aufrufen kann, hatte ich vermutet, aber noch nie probiert.
PHP-Code:
stmt.execute("{{call TSTSNDCL ('Testnachricht4')}}");
funktioniert z.B. (geht bei JDBC auch ohne die geschweiften Klammern)
Sauberer ist es, eine stored Procedure über das Programm zu legen. Das hat auch den Vorteil, dass man Parameter zurückbekommen kann:
PHP-Code:
CREATE PROCEDURE LASOBJ/LAS01SP
( INOUT FILE CHARACTER(8),
INOUT AUFTR CHARACTER(6),
INOUT STAT CHARACTER(4))
RESULT SETS 0
EXTERNAL NAME LASOBJ/LAS01CL
LANGUAGE CL
PARAMETER STYLE GENERAL
Im obigen Beispiel wird die stored Procedure LAS01SP über das CL-Programm LAS01CL gelegt.
Frage: Habt ihr auch ODBC-Anwendungen? (auf der AS/400 sind die gleichen Dienste für ODBC und JDBC verantwortlich)
Das ganze Problem dürfte sich aber erst gar nicht stellen, da ein DB-Insert bzw. Update (mit unique Key) normalerweise nichts langsames ist.
Ich denke, dass da bei den Tests (SQL vs. Calls) irgendwas nicht optimal war (Autocommit, ext.Metadaten, zuviel geclosed, zuwenig geclosed, keine PreparedStatements, immer neue Klasse ....)
Robert P.
Bookmarks