iSeries - Call-gespeicherte SQL-Prozedur von CL-Programm
Wie kann ich eine gespeicherte Prozedur auszuführen, aus einem CL-Programm? RUNSQLSTM erfordert eine Quelle-Mitglied, aber ich will einfach nur, um zu bauen ein Befehl, so dass Benutzer können pass in Variablen leicht, so wird dies nicht funktionieren.
InformationsquelleAutor | 2008-10-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie rufen Sie das system-Programm
QZDFMDB2
und übergeben Sie einen parameter mit dem SQL-string ausführen. In diesem Fall ist der SQL-string ist der Aufruf der gespeicherten Prozedur:Zu ersetzen, die in Ihrem Werte eine variable verwenden Sie den PARM:
CALL PGM(QZDFMDB2) PARM('CALL LIBRARY.PROCEDURE (''XYZ'', ''ABC'')')
InformationsquelleAutor Paul Morgan
Möglicherweise gibt es 2 Optionen:
In der CL-Programm erstellen Sie eine temporäre Quelle-Mitglied. Konstruieren Sie die SQL-Anweisung mit dem mitgelieferten Parameter an die gespeicherte Prozedur ausführen, und schreiben Sie diesen Quelltext, um den temporären Mitglied. Dann rufen Sie RUNSQLSTM mit dem erzeugten Element als parameter.
Einer zweiten option nicht zum erstellen eines CL-Programms, aber RPG/COBOL. Durch die Verwendung von embedded SQL die gespeicherte Prozedur ausgeführt werden kann mit den Parametern. Deren Werte übergeben werden sollen, von der Kommandozeile an das Programm.
InformationsquelleAutor Kwebble
In einer Zeit, gab es einen Befehl, dass jemand schrieb, dass ich verwendet hatte. Ich kann nicht finden, dass die Referenz nicht mehr, aber ich habe zwei andere Möglichkeiten:
Beide beinhalten die Quelle, die Sie brauchen, um den Befehl zu arbeiten.
InformationsquelleAutor Mike Wills
QCMDEXC
könnte der Befehl, den du suchst.InformationsquelleAutor Mitch