[NEWSboard IBMi Forum]
Seite 1 von 3 1 2 ... Letzte
  1. #1
    Registriert seit
    Jul 2001
    Beiträge
    29

    Question XML Extender for iSeries

    Hallo,
    ich möchte Daten aus einer XML-Datei in eine phys.Datei einlesen. Da wir noch das V5R3 haben, kann ich die neuen RPG-Operationen XML-SAX und XML-INTO noch nicht nutzen. Ich habe mich deshalb mit dem "XML Extender for iSeries" angelegt, mit der Hoffnung, die Angelegenheit schnell über die Bühne zu bringen um mich dann wichtigeren Dingen zu widmen. Stand der Dinge, nach ca. 2 Wochen: ich habe eine .dad-Datei und eine .xml-Datei im IFS. Die Datenbank auf der iSeries ist enabled. Was mir noch fehlt, ist irgendwie die Verbindung vom Extender zum IFS.
    Ich verwende das Beispielprogramm der IBM shdx.c aus der dxxsamples-Bibliothek, die beim Installieren des Extenders erzeugt wird. Kennt sich jemand damit aus, bzw. hat das schon mal ausprobiert?

    Hier die Fehlermeldung des Pgm's:

    Physische Teildatei anzeigen
    Datei . . . . . : STDERR Bibliothek . . . : QTEMP
    Teildatei . . . : STDERR Satz . . . . . . : 1
    Steuerung . . . : Spalte . . . . . : 1
    Suchen . . . . . :
    *...+....1....+....2....+....3....+....4....+....5 ....+....6....+....7....+....8....+....9....+....0 ....+....1....+....2....+....3
    000000000000fopen() error.
    000000000000Error accessing file: /qdls/pc-daten/D.xml ****** DATENENDE ******


  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Ich denke mal, das Problem ist das QDLS.
    QDLS unterstützt keine CCSID's und der fopen() wird sicherlich mit CCSID durchgeführt (ASCII->EBCDIC).
    Probiere es mal mit einem anderen IFS (/Home/MyDir).
    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

  3. #3
    Registriert seit
    Jul 2001
    Beiträge
    29
    OK,

    dann eben so:

    CALL PGM(DXXSAMPLES/SHRED)
    PARM
    (DEGOEHR1 '/home/teccmd/NPMD.dad' '/home/teccmd/NPMD.xml')

    Wobei die CCSID des Jobs = 37 ist, die der Dateien auch.


    Ergebnis:

    Physische Teildatei anzeigen
    Datei . . . . . : STDERR Bibliothek . . . : QTEMP
    Teildatei . . . : STDERR Satz . . . . . . : 1
    Steuerung . . . : Spalte . . . . . : 1
    Suchen . . . . . :
    *...+....1....+....2....+....3....+....4....+....5 ....+....6....+....7....+....8....+....9....+....0 ....+....1....+....2....+....3
    000000000000fopen() error.
    000000000000Error accessing file: /home/teccmd/NPMD.xml
    ******DATENENDE

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Hier wäre dann noch der genaue Fehlercode ERRNO wichtig.
    Ggf. gibts im Joblog noch Hinweise.
    Wie sieht die Berechtigung der Datei aus (WRKLNK, Auswahl 9) ?
    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
    Jul 2001
    Beiträge
    29
    Guten Morgen und herzlichen Dank für die Mühe.

    Also einen Fehlercode gibt es nicht wirklich, da der fopen() beim Scheitern im Pgm. abgefangen wird.

    So sieht's im Pgm. aus:

    testfile = fopen( xmlfile.name, "r" );
    if ( testfile != NULL ) {
    fclose( testfile );
    }
    else
    {
    fprintf(stderr, "fopen() error./n");
    fprintf(stderr, "Error accessing file: %s /n", xmlfile.name);
    rc = -1;
    goto exit;
    };

    Der JOBLOG sagt auch nichts genaues.
    Für die Dateien habe ich die volle Berechtigung und die Dateien gehören mir.

    Freundliche Grüße
    Alex

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Dies zeigt mir, dass du in C nicht so firm bist.

    "errno" ist eine extern deklarierte Variable, die einen Fehlercode zum letzten aufgetretenen Fehler enthält.
    Es gibt auch eine Routine, die den Text zu diesem Fehler liefert (must du mal im C-Handbuch suchen).
    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

  7. #7
    Registriert seit
    Jul 2001
    Beiträge
    29
    Ja, "C" ist nicht mein Hauptdialekt, eher RPG.
    Wie gesagt, dies ist ein IBM Beispielpgm. das ich verwende,
    fertig kompiliert und lauffähig.

    Wo könnte ich denn die ERRNO finden ? Im JOBLOG sehe ich nicht viel.

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    OK:

    Füge am Anfang des C-Programms folgendes ein:

    Code:
    #include <errno.h>
    Ändere die Zeile:

    Code:
    fprintf(stderr, "Error accessing file: %s %d/n", xmlfile.name, errno);
    Die Bedeutung des Fehlers findest du dann in
    QSYSINC/H Member ERRNO
    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

  9. #9
    Registriert seit
    Jul 2001
    Beiträge
    29
    Gut, gut.

    Das ist das Ergebnis:

    #define ENOENT 3025 /* no such file or library

    Das gibt mir zu denken. Sind doch beide da, Datei und Bibliothek.

    Datei . . . . . : STDERR Bibliothek . . . : QTEMP
    Teildatei . . . : STDERR Satz . . . . . . : 1
    Steuerung . . . : Spalte . . . . . : 1
    Suchen . . . . . :
    *...+....1....+....2....+....3....+....4....+....5 ....+....6....+....7....+....8....+....9....+....0 ....+....1....+....2....+....3
    000000000000fopen() error.
    000000000000Error accessing file: /home/teccmd/NPMD.xml 3025
    ****** DATENENDE ******

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Ggf. wird casesensitive gesucht.
    Prüfe mal den Namen genau ab.
    Ich hatte auch schon mal den Fall, dass im Verzeichnis/Namen am Ende noch Leerzeichen enthalten waren.
    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

  11. #11
    Registriert seit
    Jul 2001
    Beiträge
    29
    Die Namen/Pfadangaben stimmen überein.
    Irgendwie stehe ich momentan auf'm Schlauch.

    ****************
    Mit Objektverbindungen arbeiten

    Verzeichnis . . . : /home/TECCMD

    Auswahl eingeben und Eingabetaste drücken.
    2=Editieren 3=Kopieren 4=Entfernen 5=Anzeigen 7=Umbenennen
    8=Attribute anzeigen 11=Aktuelles Verzeichnis ändern ...

    Aus-
    wahl Objektverbindung Art Attribut Text
    dad.dtd STMF
    test.txt STMF
    NPMD.dad STMF
    NPMD.xml STMF
    **************************

    Programm aufrufen (CALL)

    Auswahl eingeben und Eingabetaste drücken.

    Programm . . . . . . . . . . . . > SHRED Name
    Bibliothek . . . . . . . . . . > DXXSAMPLES Name, *LIBL, *CURLIB
    Parameter . . . . . . . . . . . > DEGOEHR1

    > '/home/TECCMD/NPMD.dad'

    + für weitere Werte > '/home/TECCMD/NPMD.xml'

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Nur so zum Test:
    Mach vorher mal einen CD in "/Home/TECCMD" und ruf das Programm ohne Pfadangaben auf.

    Ist TECCMD nun groß oder kleingeschrieben ?

    Schau mal ins C-Handbuch nach "fopen" und ggf. weiteren Optionen "r....".
    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. Webservices, SOAP, XML und Labeldruck
    By vige1000 in forum NEWSboard Linux
    Antworten: 4
    Letzter Beitrag: 21-12-06, 11:56
  2. XML zu einem Port Senden
    By Weki in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 11-09-06, 13:31
  3. Formfeed in XML
    By kuempi von stein in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 05-07-06, 08:50
  4. DB2 XML Extender
    By Jenne in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 29-03-06, 09:49
  5. XML
    By DEVJO in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 18-04-05, 09:38

Berechtigungen

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