Hi,
I am testing the filename socket access type with the aim of transferring binary files between two SAS sessions, i.e. send a binary file from the client session, the server session should receive the file and make a copy on the server where it runs. The binary file to be transferred can have any length. I have found many examples that show how to send an ASCII file and how to transfer a SAS Dataset by serializing on the client and deserializing the data on the server, but the behaviour I am after would be similar to that of an ftp client sending a file to an ftp server.
What I am looking for is something like the code below which would work for any file.
On the server (i.e. on machine "server.com"):
filename srv socket ":5100" server;
data _null_;
infile srv;
input;
file "/srvpath/myCopiedBinaryFile.bin";
put _infile_;
run;
On the client
filename client socket "server.com:5100";
data _null_;
infile "/clipath/myOriginalBinaryFile.bin";
input; /*The input here should ideally read the whole file*/
file client;
put _infile_;
run;
There a options for file type (A or B) and fixed length, streaming and others, but I have not managed to make it work, I don't even know if it is at all possible.
Any ideas? Thanks!
Hi.
If over a client/server SAS connection why not to use the proc download/upload procedure with the BINARY option?
More on download procedure here:
http://support.sas.com/documentation/cdl/en/connref/61908/HTML/default/viewer.htm#prcd.htm
Daniel Santos @ www.cgd.pt
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.