[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2018
    Beiträge
    94

    Zugriff auf Daten in externem System

    Hallo,

    wir programmieren bei uns im Haus mit ILE-RPG. Parallel läuft bei uns ein Webserver auf den ich gerne Zugriff hätte um mit den dort liegenden Datenbanken zu arbeiten. Das Ganze ist zunächst als Test geplant, ob es generell möglich ist auf eine NoSQL-Datenbank wie beispielsweise MongoDB auf einem Windowsserver zugreifen zu können.

    Hat diesbezüglich jemand Erfahrung? Gibt es irgendwo im Netz Programmvorlagen die ich ggf. auf unsere Bedürfnisse anpassen könnte?

  2. #2
    Registriert seit
    Jan 2007
    Beiträge
    904
    Mit MongoDB bin ich zum ersten Mal während der Ausbildung zu NodeJS in Berührung gekommen. Es ist kein Geheimnis, dass ich seit dem ein begeisterter Anhänger dieser DB bin.

    Leider ist IBM wieder von ihrer Ankündigung, MongoDB im Rahmen von OS auf die i zu implementieren, wieder abgekommen. So wird Dir wohl nichts anderes übrig bleiben NodeJS oder Python für deine Zwecke einzusetzen. Mit RPG wird das so wohl nicht gehen.
    kf

  3. #3
    Registriert seit
    Sep 2018
    Beiträge
    94
    Herzlichen Dank für die schnelle Antwort! :-)

    Ich möchte diese MongoDB-Datenbanken nicht auf der i5 ablegen. Ich dachte da an eine API (die ich in mein RPG Programm einbinde) die mir den Zugriff auf eine MongoDB Datenbank ermöglicht um derren Daten zu verarbeiten.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Da gibts eine Software von Dieter Bender:
    ArdGate: https://sourceforge.net/projects/appserver4rpg/

    Hier gibts eine Beschreibung zum JDBC-Treiber:
    https://dbschema.com/jdbc-driver/MongoDb.html

    Ich habe da sehr gute Erfahrungen mit einer Oracle-DB gemacht.
    Man kann alle SQL-Funktionen der externen DB verwenden. Man kann allerdings nur dynamische SQL's verwenden da der Precompiler dies nicht unterstützt.
    Aber überall, wo man SQL verwenden kann, erfolgt ein Zugriff problemlos.

    Die Installation erfogt im IFS als auch mit einer Lib und eigenem SBS.
    Verbindung wir per Config im IFS eingetragen, der Treiber ebenso im IFS abgelegt.
    Die DB wird per WRKRDBDIRE registriert.

    Dann kann per Connect mit der DB verbunden werden.
    Per
    exec sql prepare ...
    exec sql open ... using
    exec sql fetch ...
    exec sql close ...
    exec sql execute ... using

    Kann alles direkt im ILERPG gemacht werden.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Jan 2007
    Beiträge
    904
    ArdGate kann kein MongoDB!

    Wie gesagt, NodeJS welches auch aus RPGLE angesprochen werden kann.

    Oder via REST Api, schaust Du mal hier: https://www.ibm.com/docs/en/app-conn...onnect-mongodb

    https://www.mongodb.com/blog/post/at...ess-over-https

    Alternativ, wenn Du ein wenig Dollari in die Hand nehmen willst, schaust noch bei Profound Logic vorbei. Geht allerdings auch in die Richtung Node.
    kf

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    Zitat Zitat von camouflage Beitrag anzeigen
    ArdGate kann kein MongoDB!
    ... ArdGate kann auch kein Oracle. ArdGate kann JDBC und damit kann man dann mit embedded SQL, QMQRY, STRSQL auf alle Datenbanken zugreifen, für die es einen JDBC Driver gibt. Damit auch auf MongoDB!

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  7. #7
    Registriert seit
    Jan 2007
    Beiträge
    904
    Dieter,

    ich habe mich nur auf die Aussagen bezogen, welche in der Beschreibung der getesteten Datenbanken bei SourceForge aufgeführt sind und da fehlt halt die MongoDB. Ich hab vorher schon nachgeschaut.
    kf

  8. #8
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    Zitat Zitat von camouflage Beitrag anzeigen
    Dieter,

    ich habe mich nur auf die Aussagen bezogen, welche in der Beschreibung der getesteten Datenbanken bei SourceForge aufgeführt sind und da fehlt halt die MongoDB. Ich hab vorher schon nachgeschaut.
    ... da hättest Du vielleicht lieber den Beitrag von Baldur, auf den Du ja geantwortet hast, richtig gelesen. Dieser enthielt den link zum erforderlichen Treiber.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  9. #9
    Registriert seit
    Jan 2007
    Beiträge
    904
    Dann is ja gut. Macht ja nix, dass ich bei mir und in der Cloud MongoDB installiert habe und in etwa weiss, worauf es ankommt (MongoDB Zertifikate inbegriffen). Hast Du mit ArdGate einen MongoDB Zugriff mal getestet, am besten auf einen Array?

    Ansonsten gäbe es noch das:
    MongoDB drivers communicate directly with a deployment using the MongoDB Wire Protocol . This is a socket-based, request-response style TCP/IP protocol using MongoDB-specific Database Commands . Driver API and behaviour is based on a set of standard MongoDB Specifications documented on GitHub.

    JDBC is a higher-level API that was originally designed for tabular databases using SQL. In theory JDBC is database agnostic, with JDBC drivers providing translation between the JDBC API and the destination database protocol. Some of the API assumptions aren’t a great match for MongoDB, but there are several third party JDBC drivers available that try to bridge the gaps.

    If you’re just getting started with MongoDB, I recommend using the official MongoDB Java Driver directly rather than adding abstraction layers and overhead.
    Das wollte ich noch los werden. Ansonsten ich ArdGate eine tolle Lösung finde.
    Abgesehen davon bringe ich an MongoDB Events den Zugriff via IBM i immer wieder auf's Tapet ohne bis jetzt eine befriedigende Antwort erhalten zu haben.

    Vielleicht hilft ja Merlin in Zukunft.
    kf

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Die Beschreibung des MongoDB JDBC ist doch ganz hilfreich. Dies kann man mit jeder Java-Umgebung probieren. Außerdem kann man mit den Java-Originaltreibern bestimmt auch mittels Java für IBM i arbeiten und so zwischen der IBM i DB und MongoDB hin und her Daten austauschen.
    Wenn der Native-Javae-Treiber deine Events unterstützt, hast du auch die Lösung für den eventbasierten Austausch MongoDB <=> IBM i DB.

    Auf der IBM i nennt man Events Trigger;-).
    Per Trigger kann man in eine DTAQ schreiben. Ein Java-Batch horcht per JTOpen auf der DTAQ und kann eventbasiert Daten asynchron verteilen.

    Dies läuft performant auf diversen mir bekannten Kundensystemen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Fehlermeldung bei Zugriff von externem Server auf AS400
    By alex61 in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 24-09-21, 17:15
  2. Zugriff auf eine DB2 remote Datenbank auf System mit R450
    By TARASIK in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 05-08-10, 15:24
  3. SQL UDTF mit externem RPG-Programm?
    By cbe in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 02-10-06, 19:33
  4. FTP mit externem Partner
    By autherid in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 01-12-05, 16:40
  5. Spoolfile Archivierung von AFPDS auf Band oder externem PC
    By BeckerOl in forum NEWSboard Server Software
    Antworten: 2
    Letzter Beitrag: 10-05-05, 21:08

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •