IFS write C'est la fin de l'exemple de codage.
IfsWrite.JS
var jt400 = require("node-jt400");
var express = require("express");
var iconv = require('iconv-lite');
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("/ifsWrite", function (req, res, next) {
var sqlReadableStream = pool.createReadStream("select * from member");
var ifs = pool.ifs();
var writer = ifs.createWriteStream("/myIfsFolder/node-write.txt", { append: true });
var buffer = "";
sqlReadableStream.on("data", function (chunk) {
buffer += chunk;
});
sqlReadableStream.on('end', function () {
writer.write(iconv.encode(buffer, "UTF-8"));
writer.end();
res.send(iconv.encode(buffer, "UTF-8"));
});
});
J'ai écrit le résultat SQL à IFS.
J'ai renvoyé correctement les caractères à la console, mais les caractères étaient déformés dans le fichier IFS.
La source à modifier est \ java \ src \ nodejt400 \ IfsWriteStream.java. Le code suivant est à la ligne 29.
IfsWriteStream.java
fos = new IFSFileOutputStream(file, IFSFileOutputStream.SHARE_ALL, append);
Spécifiez la page de codes. (UTF-8 cette fois)
IfsWriteStream.java
fos = new IFSFileOutputStream(file, IFSFileOutputStream.SHARE_ALL, append, 1208);
Si la génération réussit, remplacez jt400wrap.jar et réessayez.
Ce serait bien si cela pouvait être paramétré, mais je n'ai pas encore beaucoup de connaissances ...
L'affiche n'assume aucune responsabilité pour la modification de la source. Veuillez le faire à vos propres risques.
Ajouté le 28 décembre 2017 J'ai mis le jt400wrap.jar pré-construit ici [https://github.com/ymurata1967/node-jt400/releases/).
Recommended Posts