-
Hallo Michael,
Ich muss mich in diese Materie auch noch viel tiefer einarbeiten, aber gebe ich dir noch eine ausführlichere Antwort (nach meinem Kenntnisstand):
Zur Terminalfrage:
Als Terminals kannst Du auf dem PC z.B. GitBash, PuttY, aber auch den normalen CMD von MS verwenden. PuttY hat den Vorteil, dass Du den IBM i connect konfigurieren kannst, andernfalls brauchst Du SSH Keys. Was auch geht ist das Terminal innerhalb VSCode.
Auf der IBM i Seite nimmst Du am besten den QP2TERM, Aufruf: "CALL QP2TERM". Allenfalls musst Du noch den Pfad für Node angeben: (Testen mit node -v)
PATH=/QOpenSys/pkgs/bin:$PATH (enter)
export PATH (enter)
Als Editor empfehle ich Dir VSCode von Microsoft. Wenn Du den nicht kennst, musst Du dich ein bisschen einarbeiten - für mich die beste IDE für solche Sachen. Kannst natürlich auch den RDi verwenden. VSCode kostet übrigens nix. Nur mal googeln und runterladen.
Beispiel mit dem idbConnector auf die IBM i Datenbank:
Ich nehme mal an, Du hast Node.js installiert via ACS. Kontrolle im QP2TERM node - v
1. Erstelle auf /home ein Verzeichnis njs o.ä.
2. gehe in deinem Terminal in das neue Verzeichnis
3. Initialisiere das Verzeichnis mit dem Command "npm init" Die Fragen kannst Du ausfüllen oder aber auch nicht - kann man später nachholen und ist vor allem wichtig, wenn es dann z.B. auf Git hochgeladen werden soll.
4. idbConnector runterladen mit "npm i idb-pconnector". Dies ist der Connector welcher auch Promises unterstützt.
5. Erstelle nun eine Node-Datei mit dem Editor deiner Wahl, z.B. Test.js oder IBMISCHLAGMICHTOT.js, wie immer Du willst ...
Es ist ein Beispiel aus GitHub, welches a) die Library-List ergänzt und b) aus der Beispielsbibliothek eine SQL Abfrage auf die Kundendatei macht. Also durchaus etwas, das man auch im Alltag gebrauchen kann.
Hier der Test Code:
Code:
const { Connection } = require('idb-pconnector');
async function setLibListExample() {
const connection = new Connection({ url: '*LOCAL' });
await connection.setLibraryList(['QIWS', 'QXMLSERV']);
const statement = connection.getStatement();
const results = await statement.exec('SELECT * FROM QCUSTCDT');
console.log(`results:\n ${JSON.stringify(results)}`);
await statement.close();
}
setLibListExample().catch((error) => {
console.error(error);
});
Beachte bitte, das Beispiel ist als asynchrone App mit async und await erstellt.
Mehr Beispiele:
Quelle: https://www.npmjs.com/package/idb-pconnector
Ebenso gibt es für diverse andere Datenbanken MSSQL, MySQL, Oracle, MariaDB, MongoDB etc., die entsprechenden Packages für den Zugriff. Nur googeln und ausprobieren.
Node.js ist faszinierend, aber ohne sich ausgiebig einzuarbeiten, geht da gar nix. Und es entwickelt sich rasant. Hier ist noch viel mehr am "Ball bleiben" gefragt.
p.s. ich hab's natürlich auch getestet und es läuft auch.
Ach ja, vergessen: Aufruf natürlich "node test.js"
Viel Spass
Last edited by camouflage; 11-02-20 at 15:14.
Grund: edit: "npm init" sollte es natürlich heissen
kf
Similar Threads
-
By Frankk in forum NEWSboard Programmierung
Antworten: 0
Letzter Beitrag: 19-08-19, 09:01
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 04-07-17, 11:59
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks