SQL stream
コーディング例ではCPYFのような動きをさせているので、同じようにコーディングしてみます。
コピー先の物理ファイルを作成します。
せっかくなので、少し変えました。
(LNAMEとFNAMEの属性を変更、TOKUTENをTENSUに変更、レコード様式を変える)
MYLIB/MEMBER2.PF
*****************************************************************
* ファイルID : MEMBER2
*****************************************************************
A R MEMBER2R TEXT(' メンバー ')
*
A ID 3S 0 COLHDG(' ID ')
A LNAME 6G COLHDG(' 苗字 ')
A FNAME 12J COLHDG(' 名前 ')
A PROF 40O COLHDG(' プロフィール ')
A TENSU 7P 3 COLHDG(' 点数 ')
SQLstream.js
var jt400 = require("node-jt400");
var JSONStream = require("JSONStream");
var express = require("express");
var app = express();
var pool = jt400.pool({ host: '192.168.X.XXX', user: 'MYUSER', password: 'MYPASS' });
var server = app.listen(8888, function () {
console.log("curl http://localhost:" + server.address().port + '/~');
});
app.get("/stream", function (req, res, next) {
pool.createReadStream("select * from member")
.pipe(JSONStream.parse([true]))
.pipe(pool.createWriteStream("insert into member2 (ID,FNAME,LNAME,PROF,TENSU) VALUES(?,?,?,?,?)"));
res.send('end');
});
正しく苗字と名前が入れ替わってセットされました。