LoginSignup
0
2

More than 5 years have passed since last update.

node-jt400を試してみた(SQL stream)

Posted at

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');
});

実行してみる。
nodejt05.png
実行結果
nodejt06.png

正しく苗字と名前が入れ替わってセットされました。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2