execute Il existe également une méthode appelée execute, qui n'est pas dans l'exemple de codage. Je suppose qu'il semble que vous puissiez émettre SQL sans valeur de retour.
Donc, j'ai essayé de voir si QCMDEXC peut être exécuté. Si OVRDBF peut être exécuté, les membres peuvent l'utiliser.
Tout d'abord, ajoutez un membre (ADDMEMBER) au fichier physique: MEMBER. (La dénomination est devenue un peu compliquée.)
ADDPFM FILE(MYLIB/MEMBER) MBR(ADDMEMBER) TEXT('Ajouter un membre')
Les données suivantes ont été ajoutées par DFU.
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);
}
)
});
});
J'ai essayé de l'exécuter.
OVRDBF ne semble pas fonctionner. Quand j'ai vérifié avec WRKACTJOB, il y avait deux QZDA SOINIT, et OVRDBF et SQL étaient des emplois différents.
Dernière fois La transaction que j'ai essayée semble utiliser le même pool, alors je l'ai réécrite ici.
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);
}
)});
});
});
Cette fois, ça s'est bien passé.
Recommended Posts