[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Not coming in record by record (was: Changing Local Directory)
owner-ftpapi@xxxxxxxxxxxxx wrote on 02/09/2005 09:53:01
AM:
> Sender: "Calabro, Buck" <Buck.Calabro@xxxxxxxxxxxx>
>
> Hi Brian,
>
> > I am FTP'ing to/from the same iSeries,
> > just for testing. I have a physical
> > file in a library called EDFTPTEST and
> > the file is called TESTFILE.
>
> The same box shouldn't be a problem. At least, it works here.
>
> > I connect to the local iSeries,
> > change to that library, and then
> > pull the file back as
> > \qsys.lib\mylib.lib\testfile.file\testfile.mbr.
> > I am using BINARY mode.
> >
> > The FTP completes normally with no issues,
> > but only the first record of the file is
> > brought back.
>
> I replicated this as closely as I could. I copied an existing
file
> called MASTER to a new file called FTPS and also to FTPD (FTP source
> and destination respectively). I changed the member names to
FTPS
> and FTPD, and cleared FTPD. Now, I have a scenario that matches
> yours. A source (from) database file that is described via DDS
and
> a destination (to) database file that is it's exact clone, but
> empty. I ran this program:
> h/copy qrpglesrc,stdhspec
> * dbgview(*list)
>
> /copy ftpapisrc,ftpapi_h
>
> d fd
s 10i 0
> d rc
s 10i 0
> d src
s 52a
> d dst
s 52a
> d myMachine s
10a inz('localhost')
> d myUser s
10a inz('BUCK')
> d myPass s
10a inz('mypass')
> d msg
s 52a
>
> c
eval fd = ftp_conn(myMachine:
> c
myUser:
> c
myPass)
>
> c
eval src = ''
>
> c
eval dst = '/QSYS.LIB/BUCK.LIB/+
> c
FTPD.FILE/FTPD.MBR'
>
> c
callp ftp_binary(*on)
>
> c
eval rc = ftp_get(fd: src: dst)
> c
if rc <> 0
> c
eval msg = ftp_error
> c msg
dsply
> c
endif
>
> c
callp ftp_quit(fd)
> c
eval *inlr = *on
>
> Note that I'm hard coding the full path name, which I think is the
> only difference from your scenario. When this runs, CMPPFM shows
> that they are identical. Here is what shows up in my job log:
>
> call ftptst
> 220-QTCP at LOOPBACK.
> 220 Connection will close if idle more than 5 minutes.
> > USER BUCK
> 331 Enter password.
> > PASS **********
> 230 BUCK logged on.
> > SIZE /QSYS.LIB/BUCK.LIB/FTPS.FILE/FTPS.MBR
> 500 Subcommand SIZE not valid.
> > TYPE I
> 200 Representation type is binary IMAGE.
> > PORT 127,0,0,1,20,114
> 200 PORT subcommand request successful.
> > RETR /QSYS.LIB/BUCK.LIB/FTPS.FILE/FTPS.MBR
> 150-NAMEFMT set to 1.
> 150 Retrieving member FTPS in file FTPS in library BUCK.
> 250 File transfer completed successfully.
> > QUIT
> 221 QUIT subcommand received.
>
>
> > I did think of the manual FTP last
> > night after I sent my email and I tried it.
> > The file came over with no issues with
> > all the records filled in.
>
> Does this little program behave the same way on your machine? I
> have a binding directory with FTPAPIR4 *LIBL in it which makes it
> easier for me to compile using my standard H spec. If this program
> doesn't run for you the same as it does for me, I'm thinking that
> you have some issues with the service program. Either re-create
the
> service program from your current source or download the latest copy
> and re-create that.
> --buck
>
I took your program and placed it on our iSeries and
only changed the user, pass, and paths. When I try to run it, I receive
the following error:
DSPLY Unable to build a physical file to receive
data into
Job log looks like this:
0: FTPAPI version 2.0beta3 released on 2004-06-24
5: 220-QTCP at LOCALHOST.
5: 220 Connection will close if idle more than 5 minutes
5: > USER beckenrod
5: 331 Enter password.
5: > PASS **********
5: 230 BECKENROD logged on.
5: > TYPE I
5: 200 Representation type is binary IMAGE.
5: > SIZE /QSYS.LIB/EDFTPTEST.LIB/ TESTFILE.FILE/TESTFILE.MB
5: 500 Subcommand SIZE not valid.
File TESTFILE in library BECKENROD already exists.
DSPLY Unable to build a physical file to receive
data into
5: > QUIT
5: 221 QUIT subcommand received.
For some reason it is not allowing the file to be
replaced. I checked permissions on the target file and *PUBLIC has
*ALL, so that should not be an issue.
I rebuilt the API using the XML install (did not download
again, just rebuilt from what I had).
Any ideas?
Thanks again,
Brian