execute Es gibt auch eine Methode namens execute, die nicht im Codierungsbeispiel enthalten ist. Ich denke, es scheint, dass Sie SQL ohne Rückgabewert ausgeben können.
Also habe ich versucht zu sehen, ob QCMDEXC ausgeführt werden kann. Wenn OVRDBF ausgeführt werden kann, können Mitglieder es verwenden.
Fügen Sie zunächst der physischen Datei ein Mitglied (ADDMEMBER) hinzu: MEMBER. (Die Benennung ist etwas kompliziert geworden.)
ADDPFM FILE(MYLIB/MEMBER) MBR(ADDMEMBER) TEXT('Mitglied hinzufügen')
Die folgenden Daten wurden von DFU hinzugefügt.
SQLexecute.js
app.get("/execute", function (req, res, next) {
let execstmt = "CALL QCMDEXC('OVRDBF FILE(MEMBER) TOFILE(MYLIB/MEMBER) MBR(ADDMEMBER) OVRSCOPE(*JOB)',70)";
let sqlstmt = "select * from member";
pool.execute(execstmt).then(
function (result) {
pool.query(sqlstmt).then(
function (result){
res.json(result);
}
)
});
});
Ich habe versucht, es auszuführen.
OVRDBF scheint nicht zu funktionieren. Als ich mich bei WRKACTJOB erkundigte, gab es zwei QZDA SOINIT, und OVRDBF und SQL waren unterschiedliche Jobs.
Letztes Mal Die Transaktion, die ich versucht habe, scheint denselben Pool zu verwenden, also habe ich sie dort neu geschrieben.
SQLexecute.js
app.get("/execute2", function (req, res, next) {
pool.transaction(function (tran) {
return tran.execute("CALL QCMDEXC('OVRDBF FILE(MEMBER) TOFILE(MYLIB/MEMBER) MBR(ADDMEMBER) OVRSCOPE(*JOB)',70)"
).then(function () {
return tran.query("select * from member").then(
function (result)
{
res.send(result);
}
)});
});
});
Diesmal lief es gut.
Recommended Posts