[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Wenn du in der QSHELL folgenden Befehl absetzt:

    /QIBM/ProdData/OS/SQLLIB/bin/db2nosql -setup enable
    Werden in der SYSTOOLS die JSON SQL Funktionen erstellt.
    Geht auch schon mit 7.1 bei entsprechenden PTF stand.

    Näheres kannst du auch hier nachlesen:
    http://www.mcpressonline.com/databas...db2-for-i.html

    lg Andreas

  2. #2
    Registriert seit
    Jan 2012
    Beiträge
    1.217
    Zitat Zitat von andreaspr@aon.at Beitrag anzeigen
    Wenn du in der QSHELL folgenden Befehl absetzt:

    /QIBM/ProdData/OS/SQLLIB/bin/db2nosql -setup enable
    Werden in der SYSTOOLS die JSON SQL Funktionen erstellt.
    Geht auch schon mit 7.1 bei entsprechenden PTF stand.

    Näheres kannst du auch hier nachlesen:
    http://www.mcpressonline.com/databas...db2-for-i.html

    lg Andreas
    Das hört sich ziemlich cool an! Danke für den Tipp. Werde ich ausprobieren!

    Dieter

  3. #3
    Registriert seit
    Jan 2012
    Beiträge
    1.217
    Habe folgendes auf unserer Testmaschine abgeschickt:

    /QIBM/ProdData/OS/SQLLIB/bin/db2nosql -setup enable


    Als Ergebnis kam:
    nosql>CDJSN0114E Ungültige Befehlssyntax
    Fehlerdetails werden unten aufgeführt, sind aber möglicherweise nicht die Ursache des Problems.
    /QIBM/ProdData/OS/SQLLIB/bin/db2nosql -setup enable
    ^
    Fehlerdetails: invalid flag after regular expression
    Spaltennummer: 7

  4. #4
    Registriert seit
    Jan 2012
    Beiträge
    1.217
    Vielleicht haben wir auf der Testmaschine aber auch noch nicht den passenden PTF-Stand. Werde das morgen mal mit unserer Administration klären.

    Nochmals vielen Dank.
    Dieter

  5. #5
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Zitat Zitat von dschroeder Beitrag anzeigen
    Vielleicht haben wir auf der Testmaschine aber auch noch nicht den passenden PTF-Stand. Werde das morgen mal mit unserer Administration klären.

    Nochmals vielen Dank.
    Dieter
    Laut Web ist für IBM i 7.1 TR10 mit Database Group PTF Level 34 nötig.

  6. #6
    Registriert seit
    Aug 2003
    Beiträge
    1.508

  7. #7
    Registriert seit
    Jan 2012
    Beiträge
    1.217
    Das Setup ist bei uns jetzt durchgelaufen. Das setup-Programm erwartete ein Journal in der SYSTOOLS. Das gab es seltsamerweise auf beiden Maschinen nicht. Nachdem das angelegt wurde, lief das setup problemlos durch. Die JSON-Funktionen sind jetzt in SYSTOOLS vorhanden.

    Nochmals Danke für die Hilfe.

    Aber doch noch eine Frage: Gibt es zu den Funktionen auch eine Doku? Im Information Center hat die Suchfunktion nichts passendes ergeben. Google war auch nicht sehr ergiebig. Ich gehe aber davon aus, dass IBM nicht einfach Funktionen zur Verfügung stellen würde, ohne eine Dokumentation dazu zu liefern.

    Ich möchte ja im wesentlichen JSON lesen. Die Funktion JSON_VAL2 klingt für mich so, als könnte sie einen JSON-Wert ermitteln. Google bringt für die Frage nach "SYSTOOLS JSON_VAL2" aber keine Ergebnisse für IBM i (soweit ich das sehe und verstehe).

    Dieter

  8. #8
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Ja die Doku ist leider nicht immer vollständig.
    Im Skript für meine Schulungen habe ich hin und wieder selbst mühsam herausfinden müssen wie diverse Funktionen arbeiten.

    In diesem Fall musst du den JSON String oder File zuerst in ein CLOB konvertieren und dann mit der Funktion JSON2BSON in ein BLOB konvertieren.

    Hier ein Beispiel:
    Code:
    {"myroot": { "id": 123} }
    Code:
    CREATE OR Replace VARIABLE pranlib.jsonclob clob(16M);
    CREATE OR Replace VARIABLE pranlib.jsonblob blob(16M);
    
    SET pranlib.jsonclob = GET_CLOB_FROM_FILE('/home/prouza/json/test1.json');
    
    SET pranlib.jsonblob = SYSTOOLS.JSON2BSON(pranlib.jsonclob);
    
    VALUES (systools.JSON_VAL2(pranlib.jsonblob , 'myroot.id', 'i:na'))
    JSON_VAL2
    1. Parameter: Die Daten als BLOB
    2. Parameter: Der Pfad (xpath)
    3. Parameter: Der Datentyp der zurückkommt. i=Zahl und "na"=kein array

    lg Andreas

  9. #9
    Registriert seit
    Jan 2012
    Beiträge
    1.217
    Herzlichen Dank!
    Dieter

  10. #10
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Das ganze geht auch in einem Step:
    Code:
    VALUES (SYSTOOLS.JSON_VAL2(SYSTOOLS.JSON2BSON(CAST ('{"myroot": { "id": 123} }' AS CLOB(10K))), 'myroot.id', 'i:na'))

  11. #11
    Registriert seit
    Jan 2012
    Beiträge
    1.217
    Danke. Werde es ausprobieren!

Similar Threads

  1. Antworten: 2
    Letzter Beitrag: 31-12-15, 11:52
  2. Datei aus IFS verarbeiten
    By Joe in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 06-08-15, 11:45
  3. Neu! Native EXCEL, PDF, HTML verarbeiten
    By andigoering in forum Archiv NEWSblibs
    Antworten: 0
    Letzter Beitrag: 08-11-02, 16:27
  4. Datei mit Hex-Werten in RPG verarbeiten
    By DiBagger in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 13-09-02, 13:41
  5. xls/ascii-Dateien verarbeiten
    By Neurohr in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 13-07-02, 00:53

Berechtigungen

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