Hi, I am trying to connect to a ftps server using passive mode. Everything seems to be working fine until the moment I want to transfer data either from the local computer to the server or vice-versa. This is the code I am using to test the connection and things seem to work as expected: %let _host=###;
%let _user=###;
%let _pwd=###;
/**************************************************************************\
TEST 1 (Server status): Passed
\**************************************************************************/
options set=SAS_FTP_AUTHTLS="1";
filename LLL ftp '' rstat
host="&_host."
user="&_user." pass="&_pwd."
debug ;
data _null_;
infile LLL;
input;
list;
run; And this is the generated log: NOTE: >>> AUTH TLS
NOTE: <<< 234 AUTH TLS successful
NOTE: >>> USER ####
NOTE: <<< 331 Password required for ####
NOTE: >>> PASS XXXXXXXX
NOTE: <<< 230 User eba logged in
NOTE: >>> OPTS UTF8 ON
NOTE: <<< 200 UTF8 set to on
NOTE: >>> OPTS UTF8 NLST
NOTE: <<< 501 'OPTS UTF8' not understood
NOTE: >>> OPTS UTF-8 NLST
NOTE: <<< 500 OPTS UTF-8 not understood
NOTE: >>> STAT
NOTE: User #### has connected to FTP server on Host #####.#####.com .
NOTE: The infile LLL is:
2 The SAS System 18:50 Tuesday, January 7, 2020
Filename=,
Pathname,Local Host Name=######,
Local Host IP addr=::1,
Service Hostname Name=#####.#####.com,
Service IP addr=###.###.###.###,Service Name=FTP,
Service Portno=21,Lrecl=32767,Recfm=Variable
RULE: ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0
1 211-Status of 'FTPS server' 45
2 Connected from 195.227.57.67 (195.227.57.67) 45
3 Logged in as #### 17
4 TYPE: ASCII, STRUcture: File, Mode: Stream 43
5 No data connection 19
6 211 End of status 17
NOTE: >>> QUIT
NOTE: 6 records were read from the infile LLL.
The minimum record length was 17.
The maximum record length was 45.
NOTE: DATA statement used (Total process time):
real time 0.82 seconds
cpu time 0.06 seconds I can even create directories in the remote server: Code: /**************************************************************************\
TEST 2: Passed (Make directory)
\**************************************************************************/
options set=SAS_FTP_AUTHTLS="1";
filename LLL ftp '' /*rstat */
host="&_host."
user="&_user." pass="&_pwd."
passive
rcmd="cwd /test;mkd test2;"
debug ;
data _null_;
infile LLL;
input;
list;
run; Log: NOTE: >>> AUTH TLS
NOTE: <<< 234 AUTH TLS successful
NOTE: >>> USER ####
NOTE: <<< 331 Password required for ####
NOTE: >>> PASS XXXXXXXX
NOTE: <<< 230 User eba logged in
NOTE: >>> OPTS UTF8 ON
NOTE: <<< 200 UTF8 set to on
NOTE: >>> OPTS UTF8 NLST
NOTE: <<< 501 'OPTS UTF8' not understood
NOTE: >>> OPTS UTF-8 NLST
NOTE: <<< 500 OPTS UTF-8 not understood
2 The SAS System 18:50 Tuesday, January 7, 2020
NOTE: >>> cwd /test
NOTE: <<< 250 CWD command successful
NOTE: >>> mkd test2
NOTE: <<< 257 "/test/test2" - Directory successfully created
NOTE: User eba has connected to FTP server on Host ############# .
NOTE: The infile LLL is:
Filename=,
Pathname,Local Host Name=######,
Local Host IP addr=::1,
Service Hostname Name=######,
Service IP addr=##.###.###.###,Service Name=FTP,
Service Portno=21,Lrecl=32767,Recfm=Variable
NOTE: >>> QUIT
NOTE: 0 records were read from the infile LLL.
NOTE: DATA statement used (Total process time):
real time 0.75 seconds
cpu time 0.04 seconds However, this stops being so successful whenever a try to download or upload a file: Code: filename inv ftp 'mtest.txt'
host="&_host." user="&_user." pass="&_pwd."
cd='/test/'
RECFM=S
passive
rcmd="cwd /test;"
debug ;
filename lcl "&mytemp.\mtest.txt" recfm=n;
data _null_;
N=1;
infile inv NBYTE=N;
input;
file lcl;
put _infile_ @@;
run; Log: NOTE: >>> AUTH TLS
NOTE: <<< 234 AUTH TLS successful
NOTE: >>> USER ####
NOTE: <<< 331 Password required for ####
NOTE: >>> PASS XXXXXXXX
2 The SAS System 18:50 Tuesday, January 7, 2020
NOTE: <<< 230 User #### logged in
NOTE: >>> OPTS UTF8 ON
NOTE: <<< 200 UTF8 set to on
NOTE: >>> OPTS UTF8 NLST
NOTE: <<< 501 'OPTS UTF8' not understood
NOTE: >>> OPTS UTF-8 NLST
NOTE: <<< 500 OPTS UTF-8 not understood
NOTE: >>> PBSZ 0
NOTE: <<< 200 PBSZ 0 successful
NOTE: >>> PROT P
NOTE: <<< 200 Protection set to Private
NOTE: >>> PASV
NOTE: <<< 227 Entering Passive Mode (##,###,##,###,255,155).
ERROR: The connection has timed out..
NOTE: UNBUFFERED is the default with RECFM=N.
NOTE: The file LCL is:
Filename=E:\SASDATA\PDRIVE\jrocha\WORK\temp\mtest.txt,
RECFM=N,LRECL=256,File Size (bytes)=0,
Last Modified=09 January 2020 16:14:21,
Create Time=09 January 2020 12:29:38
NOTE: The SAS System stopped processing this step because of errors.
NOTE: DATA statement used (Total process time):
real time 21.80 seconds
cpu time 0.01 seconds From what I can see from the logs above I can connect to the server but I cannot create a data connection. Any ideas why this is happening and/how can I overcome it? Thank you Julio
... View more