do j=1 to 5;
put 'Adding data ' j;
n2 = j*2;
when I execute the first rsubmit I find the following error:
828 libname outLib sasesock "ipe1";
ERROR: Unknown service name, pipe1, please check your TCP/IP services file
ERROR: Error in the LIBNAME statement.
I suppose that pipe1 is the name of a service that must be running in some port in the UNIX server, isn’t it??.
I don’t know how to start this service and what I have to do in UNIX to run this SAS program. In wich port??, what kind of service??
Any advice will be greatly appreciated, I’m a beginner using this pipe facility.
Thank you for your help. I will register in the services file as you say, but I have another doubt, pipe1 is a services defined in one port, then I suppose pipe1 is a server appliction listening in this port, waht kind of app is pipe1??.
I don't know much about ports and services in UNIX, but I know that, for example, "telnet" is ans app server listening in one port for clients requests, what kind of server app is "pipe1"??, do I need some instalation??, does it works like the UNIX pipe command ( cat file | grep "character" | sort ...).
Any advice will be greatly appreciatted, because I know SAS, but not much UNIX...
I have problemas identifying the SAS spawner.
That's what I have in the sasroot/utilities/bin directory
bdm cfgpeh cleanwork elsconf elssrv
jproxy ke2j ke2s kj2e ks2e
motifxsassm objspawn patchname rbrowser reshelper
sasauth sasmailer sasm.elm.mime sasperm sastcpd
sasumgmt saswujms setuid
How can I identify the spawner??
Another question, I suppose that this program must be definded in the etc/services UNIX file, also is correct???
And the program must be running in UNIX. It cab be located with this:
ps -ef | grep "spawner-name"
As you can see, I'm not an expert....
Any advice will be greatly apreciatted, I don't know much about UNIX services and how it works...
(1) sastcpd is the Unix spawner program.
(2) you don't have to register a service entry in /etc/service.
I can give you an easy example.
Open two terminals in Unix, and
(1) type /usr/local/SAS_9.1.3/SAS_9.1/utilities/bin/sastcpd -service 5050 -sascmd '/usr/local/SAS_9.1.3/SAS_9.1/sas -dmr -noterminal -nosyntaxcheck -device grlink' in terminal 1. The actual paths could be different in your system.
(2) In terminal 2, use any editor to enter the following code and save as test.sas
%let node = 127.0.0.1 5050;
filename rlink '/usr/local/SAS_9.1.3/SAS_9.1/misc/connect/tcpunix.scr';
*actual path to tcpunix.scr may vary;
signon remote=node user=$youruserid$ password=_prompt_;
*replace $youruserid$ with your actual userid;
proc print data=sashelp.class;
After the above code is saved, type command sas -nodms test and after a few seconds you should be prompted for the password. If successful, there should be a test.lst file created.
Thank you very much for your help urchin. It's being very productive.
I 'll talk with the UNIX admin, because I don't have root permission to start sastcpd service.
If you have time I have another question, I don't understand know how MP connect pipeline works.
In the libname you specifie a reference to a TCP/IP pipe instead of to a physical disk device, then the intermediate data is not write in a disk device??, is correct??.
I understand that you save time in I/O, but where is the intermediate data??, in memory?, in RAM???
I would like to undestand the phisical running of MP connect pipeline.
I guess SASESOCK is just some sort of cache with limited size. I don't know where it is because it's not mentioned anywhere in the SAS/Connect reference.
Just search 'SASESOCK at support.sas.com, and you'll find only a limited number of references so you should be able to read them all.