[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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

  2. #2
    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

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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

  4. #4
    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.

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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

  6. #6
    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 ******

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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

  8. #8
    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'

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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

  10. #10
    Registriert seit
    Jul 2001
    Beiträge
    29
    TECCMD ist inzwischen groß geschrieben.

    1.)

    Aktuelles Arbeitsverzeichnis anzeigen

    Verzeichnis . . . . . : /home/TECCMD

    2.)

    CALL PGM(DXXSAMPLES/SHRED) PARM(DEGOEHR1 NPMD.DAD NPMD.XML)

    3.)

    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: NPMD.XML 3025
    ****** DATENENDE ******

    4.) ( Bin auf der Suche nach fopen()-Doku im Netz. c.u.

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das liegt gar nicht daran, sondern an einer Compile-Option !

    SYSIFCOPT
    System interface options (SYSIFCOPT) - Help

    Specifies which system interface options will be used for the module
    object being created. You can specify them in any order, separated by
    one or more blanks. When an option is specified more than once, or when
    two options conflict, the last one specified is used.

    *NOIFSIO
    The module object will use the iSeries Data Management file system
    for C stream I/O operations.

    *IFSIO
    The module object will use the Integrated File System for C stream
    I/O operations.

    *IFS64IO
    The module object will use the Integrated File System for 64-bit C
    stream I/O operations.

    *NOASYNCSIGNAL
    Does not enable runtime mapping of synchronous signalling functions
    to asynchronous signalling functions.

    *ASYNCSIGNAL
    Enable runtime mapping of synchronous signalling functions to
    asynchronous signalling functions. Specifying this option causes C
    runtime to map the synchronous signal() and raise() functions to the
    asynchronous sigaction() and kill() functions respectively.

    Du must *IFSIO auswählen da der fopen sonst auf das Format "Lib/File" und nicht auf das IFS-Format geht.
    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

  12. #12
    Registriert seit
    May 2002
    Beiträge
    2.643

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
  •