Ich habe versucht, node-jt400 (IFS schreiben)

IFS write Dies ist das Ende des Codierungsbeispiels.

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

Ich habe das SQL-Ergebnis an IFS geschrieben.

nodejt26.png

Ich habe die Zeichen korrekt an die Konsole zurückgegeben, aber die Zeichen wurden in der IFS-Datei verstümmelt.

nodejt27.png

Java-Quellmodifikation von node-jt400 (entsprechend verstümmelten Zeichen)

Die zu ändernde Quelle ist \ java \ src \ nodejt400 \ IfsWriteStream.java. Der folgende Code befindet sich in Zeile 29.

IfsWriteStream.java


fos = new IFSFileOutputStream(file, IFSFileOutputStream.SHARE_ALL, append);

Geben Sie die Codepage an. (Diesmal UTF-8)

IfsWriteStream.java


fos = new IFSFileOutputStream(file, IFSFileOutputStream.SHARE_ALL, append, 1208);

Wenn der Build erfolgreich ist, ersetzen Sie jt400wrap.jar und versuchen Sie es erneut.

nodejt28.png

Es wäre schön, wenn es parametrisiert werden könnte, aber ich habe noch nicht so viel Wissen ...

Das Poster übernimmt keine Verantwortung für die Änderung der Quelle. Bitte tun Sie dies auf eigenes Risiko.

Hinzugefügt am 28. Dezember 2017 Ich habe die vorgefertigte Datei jt400wrap.jar hier abgelegt [https://github.com/ymurata1967/node-jt400/releases/).

Recommended Posts

Ich habe versucht, node-jt400 (IFS schreiben)
Ich habe versucht, node-jt400 (IFS lesen)
Ich habe versucht, node-jt400 (Programme)
Ich habe versucht, node-jt400 (ausführen)
Ich habe versucht, node-jt400 (Transaktionen)
Ich habe versucht, node-jt400 (Umgebungskonstruktion)
Ich habe versucht, node-jt400 (SQL Update)
Ich habe versucht, node-jt400 (SQL-Abfrage)
Ich habe versucht, node-jt400 (SQL-Stream)
Ich habe es mit Spring versucht.
Ich habe versucht, Tomcat zu setzen
Ich habe youtubeDataApi ausprobiert.
Ich habe versucht, ① umzugestalten
Ich habe FizzBuzz ausprobiert.
Ich habe JHipster 5.1 ausprobiert
[Ich habe es versucht] Spring Tutorial
Ich habe versucht, Autoware auszuführen
Ich habe versucht, Gson zu benutzen
Ich habe sofort QUARKUS ausprobiert
Ich habe versucht, TestNG zu verwenden
Ich habe Spring Batch ausprobiert
Ich habe versucht, Galasa zu benutzen
Ich habe DI mit Ruby versucht
Ich habe versucht, Azure Cloud-Init zu verwenden
Ich habe Spring State Machine ausprobiert
Ich habe Drools (Java, InputStream) ausprobiert.
Ich habe Rails Anfänger ausprobiert [Kapitel 1]
Ich habe versucht, Apache Wicket zu verwenden
Ich habe versucht, Java REPL zu verwenden
Ich habe versucht, den Quellcode zu analysieren
Ich habe das FizzBuzz-Problem ausprobiert
Ich habe Rails Anfänger ausprobiert [Kapitel 2]
Ich habe UPSERT mit PostgreSQL ausprobiert.
Ich habe BIND mit Docker ausprobiert
Ich habe versucht, yum-cron zu verifizieren
Ich habe versucht, Metaprogrammierung mit Java
Ich habe versucht, Code wie eine Typdeklaration in Ruby zu schreiben
Ich habe jetzt versucht, Anakia + Jing zu verwenden
Ich habe Angular Tutorial + SpringBoot + PostgreSQL ausprobiert
Ich habe versucht, C # (Indexer) zu kauen.
Ich habe etwas versucht, das als rekursive Suche bezeichnet wird
Ich habe versucht, Spring + Mybatis + DbUnit zu verwenden
Ich habe versucht, JOOQ mit Gradle zu verwenden
[K8s] Ich habe versucht, zwischen Pods zu kommunizieren!
Ich habe eine morphologische Analyse mit MeCab versucht
Ich habe ein wenig digdags docker.run_options ausprobiert
Ich habe versucht, die Unterstützung für iOS 14 zusammenzufassen
Ich habe versucht, mit Java zu interagieren
Ich habe versucht, UDP mit Java zu kommunizieren
Ich habe versucht, die Methode zu erklären
Ich habe versucht, Domino11 in CentOS7 zu integrieren
Ich habe das Java-Framework "Quarkus" ausprobiert.
[Rails] Ich habe versucht, die Anwendung zu löschen
Ich habe versucht, die Java8 Stream API zu verwenden
Ich habe Javas Micro-Benchmarking-Tool JMH ausprobiert
Ich habe versucht, JWT in Java zu verwenden
Ich habe GraphQL mit Spring Boot ausprobiert