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
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.