-
OK:
Füge am Anfang des C-Programms folgendes ein:
Ä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
-
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 ******
-
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.
-
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'
-
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....".
-
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.
-
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.
-
So wurde das Pgm. kompiliert:
CRTCMOD MODULE(DXXSAMPLES/SHDX)
SRCFILE(DXXSAMPLES/SQLTEMP) SRCMBR(SHDX) LOCALETYPE(*LOCALEUCS2) SYSIFCOPT(*IFSIO) INCDIR('/QIBM/ProdData/DB2Extenders/XML/include')
also "korrekt", oder?
-
-
Ich glaub das trifft es nicht:
Job und File stehen auf 037, s.o. !
Aber, wie gesagt, der Default für fopen() ist Lib/File und nicht IFS (siehe Compiler-Option).
-
Das mit dem PTF muß ich noch prüfen. Unser SYSADMIN hat vor kurzem einiges eingespielt, vielleicht ist der Bug schon raus.
-
So, PTF ist da, APAR behoben.
Behobene APARs anzeigen
Produkt-ID/PTF-ID . . . . . . . . . : 5722SS1 SI23799
Release . . . . . . . . . . . . . . : V5R3M0
Behobener APAR Behobener APAR
SE25075 SE17818
SE25074 SE17983
SE24128 SE19398
SE23578 SE19509
SE20121 SE19691
SE20891 SE16886
SE22128 SE16887
SE22129 SE17119
SE20529 SE18563
SE22517 SE14474
SE22518 SE12571
SE18378
Similar Threads
-
By vige1000 in forum NEWSboard Linux
Antworten: 4
Letzter Beitrag: 21-12-06, 11:56
-
By Weki in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 11-09-06, 13:31
-
By kuempi von stein in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 05-07-06, 08:50
-
By Jenne in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 29-03-06, 09:49
-
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
-
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