FTP text file SAS to FTP server without filename statement

Accepted Solution Solved
Reply
New Contributor
Posts: 3
Accepted Solution

FTP text file SAS to FTP server without filename statement

Hi,

 

I'm using the method below to move text file sas server to ftp server. It ony takes 3 minute when i use ftp method in shell, but it takes 2 hour to move it with sas method.

 

I think it occurs because sas open txt file and move line by line. And file size almost 2 gb..

 

How i move txt file as batch and save time in ftp method?

 

Thanks.

 

sas method:

%macro ftp_data(sasData);
filename server ftp "/ftp/directory/&sasData..TXT" host="XX.XXX.X.XX"
user="user" pass="pass" ;
data _null_;
infile "/work/&sasData..TXT" recfm=n ;
input x $char1. @@;
file server recfm=s ;
put x $char1. @@;
run;

 

ftp method:

/usr/bin/ftp -inv <<!
open $FTP_HOST_NAME
passive
user $FTP_LOGIN $FTP_PASSWORD
cd ftp01/directory/
put $file
quit

 


Accepted Solutions
Solution
‎12-21-2017 08:01 AM
Regular Contributor
Posts: 185

Re: FTP text file SAS to FTP server without filename statement

Posted in reply to semihascioglu
You already found the best solution: don't use sas code, but bash/cmd to transfer files. If you can execute os-commands in your sas-session, you can invoke cmd with the ftp-conmand directly. See the docs of X command.

View solution in original post


All Replies
Solution
‎12-21-2017 08:01 AM
Regular Contributor
Posts: 185

Re: FTP text file SAS to FTP server without filename statement

Posted in reply to semihascioglu
You already found the best solution: don't use sas code, but bash/cmd to transfer files. If you can execute os-commands in your sas-session, you can invoke cmd with the ftp-conmand directly. See the docs of X command.
Super User
Posts: 8,590

Re: FTP text file SAS to FTP server without filename statement

Posted in reply to semihascioglu

Why are you transmitting a TEXT file as binary, byte-by-byte? Text files should be handled line-by-line.

No miracle that your SAS FTP is taking forever.

 

Although I concur that copying non-SAS data to non-SAS data is handled best from the commandline, if you need it controlled from SAS, use the filename pipe method to call the external command.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 146 views
  • 1 like
  • 3 in conversation