support clients / FAQ

SAS/CONNECT®

Liens utiles

  • Comment installer un spawner sur unix ? Lire 
  • Comment installer un spawner sur Windows ? Lire (PDF)
  • Documentation SAS/Connect. Lire (PDF)

Articles parus

  • Améliorer sa productivité grâce aux traitements parallèles SAS Multi-Process CONNECT - Novembre 2001 - SAS 8.2 Lire (PDF)

FAQs

  • Quelles sont les étapes pour établir une connexion client/serveur (serveur = Windows) ? Réponse
  • Comment procéder pour lancer le spawner sur un autre port autre que le 23 (utilisé par défaut) ? Réponse
  • Dans une session client/serveur, comment voir, dans l'explorateur de SAS de sa session locale, les tables localisées sur le serveur ? Réponse
  • Comment déclarer une bibliothèque en RLS, quand la connexion au spawner se fait via un numéro de port ? Réponse
  • Comment peut-on établir une connexion Client/Serveur SAS (par exemple entre une session SAS installée sur un PC et une autre session SAS installée sur un serveur Windows) à travers un « firewall » ? Réponse
  • Comment ajouter des informations dans le journal du spawner pour SAS/CONNECT ? Réponse
  • Que faire lorsque le message suivant est reçu lors de la mise en place du connect spawner SAS9 sur MVS ? Réponse
  • Comment empêcher une macro variable utilisée en mode Rsubmit d'être interprétée lors de la compilation ? Réponse

Réponses

Caractéristiques :
  • Catégories : SAS/Connect
  • OS : Windows
  • Version : 8.2 et au-delà
  • Vérifié en novembre 2010

Quelles sont les étapes pour établir une connexion client/serveur (serveur = Windows) ?

1- Sur le serveur. 

a. Attribution des droits nécessaires.
Le compte qui installe et démarre le service " SAS Job Spawner " doit avoir les droits suivants :

  • Agir en tant que partie du système d'exploitation
  • Augmenter les quotas
  • Outrepasser le contrôle de défilement
  • Ouvrir une session localement
  • Remplacer un jeton niveau de processus

    Les utilisateurs SAS doivent disposer du droit :
  • Ouvrir une session en tant que tâche

    b. Installation et démarrage du service " SAS Job Spawner "

    Ce service est à l'écoute des demandes de connexion de sessions SAS clientes et démarre des sessions SAS sur le serveur à la demande.

    Les étapes :
  • Ouvrir une invite DOS
  • Se placer dans le répertoire d'installation de SAS
  • Taper : spawner -i -c tcp
  • Puis : net start "SAS Job Spawner"

2- Sur les postes client.

a. Editez le fichier tcpwin.scr et modifiez la ligne 61 en indiquant la localisation de l'exécutable SAS sur le serveur.

Exemple :
Ligne originale :
type 'sas -device grlink -no$syntaxcheck' LF;
Lignes modifiées :
type "C:\Program Files\SAS Institute\SAS\V8\sas.exe -device ";
type "grlink -no$syntaxcheck" LF;


b. Démarrer une session SAS, taper et soumettre
:

%let serveur=nom_du_serveur ;
options comamid=tcp remote=serveur ;
filename rlink "C:\Program Files\SAS Institute\SAS\V8\connect\saslink\tcpwin.scr";
signon;

On peut également procéder à une connexion sans script, à condition que la commande « sas » permette bien de démarrer une session SAS pour le compte en question :

option comamid=tcp ;
signon serveur.__7551 username=MonUser password=MotDePasse noscript;

 

Aide en ligne :  
Installing and Starting a PC Spawner on Windows Operating Systems (PDF)
SAS/CONNECT® 9.2 User's Guide (PDF) 
Communications Access Methods for SAS/CONNECT® 9.2 and SAS/SHARE® 9.2 (PDF) 

 
 

Caractéristiques :
  • Catégories : SAS/Connect
  • OS : Windows
  • Version : 8.2 et au-delà
  • Vérifié en novembre 2010

Comment procéder pour lancer le spawner sur un autre port autre que le 23 (utilisé par défaut) ?

  • Soit en ajoutant l'option -telnet au niveau de  l'installation du service " SAS Job Spawner " :
    spawner -i -c tcp -telnet 1234
  • Soit avec l’option -service :
    1. rajouter dans le fichier SERVICES du serveur :
      spawner     1234/tcp     # Port for spawner
    2. installer le service :
      spawner -i -c tcp -service spawner

Au niveau de la mise en place de la connexion, il existe alors deux méthodes :

1- Déclarer le numéro de port dans la définition d'une macro-variable (dans l'exemple servport) et l'utiliser ensuite dans l'option remote=.
Les autres instructions restant identiques.

%let servport=nom_du_serveur 1234;
options comamid=tcp remote=servport ;
filename rlink "C:\Program Files\SAS Institute\SAS\V8\connect\saslink\tcpwin.scr";
signon;


2- Déclarer le service dans le fichier SERVICES du client (exemple avec spawner comme nom de service) :
spawner     1234/tcp     # Port for spawner

3- Utiliser le nom du service ensuite dans SAS :
%let serveur=nom_du_serveur ;
options comamid=tcp remote=serveur.spawner;
filename rlink "C:\Program Files\SAS Institute\SAS\V8\connect\saslink\tcpwin.scr";
signon;
 

 
 

 
Dans une session client/serveur, comment voir, dans l'explorateur de SAS de sa session locale, les tables localisées sur le serveur ?
Caractéristiques :
  • Catégories : SAS/Connect
  • OS : Windows
  • Version : 8.2 et au-delà
  • Vérifié en novembre 2010

En utilisant le RLS (Remote Library Services). Voici 2 exemples, où dans un cas on renomme la bibliothèque (S_WORK), et dans l’autre on garde le nom distant (HOME) :

rsubmit ;
  libname HOME "/home/MonUser/";
endrsubmit ;

libname home server=blois;
libname s_work slibref=work server=serveur;

Le nom du serveur sur lequel la connexion est faite est indiqué dans server= (il s'agit du nom déjà utilisé pour établir la connexion, dans l'option remote=).
Dans cet exemple, depuis la session locale, on visualise le contenu des bibliothèques HOME et WORK du serveur distant.  

 
 

Caractéristiques :
  • Catégories : SAS/Connect
  • OS : Windows
  • Version : 8.2 et au-delà
  • Vérifié en novembre 2010
Comment déclarer une bibliothèque en RLS, quand la connexion au spawner se fait via un numéro de port ?

Il existe deux solutions, selon que le numéro de port a été déclaré :

1- dans une macro variable, comme par exemple
%let servport=nom_du_serveur 1234;
libname rmalib slibref=malib server=servport;

2- dans le fichier SERVICES du client, ce qui permet d'utiliser le nom du service associé (spawner dans l'exemple suivant) :
libname rmalib slibref=malib server=serveur.spawner; 

 
 
 
Caractéristiques :
  • Catégories : SAS/Connect
  • OS : Windows
  • Version : 8.2 et au-delà
  • Vérifié en novembre 2010
Comment peut-on établir une connexion Client/Serveur SAS (par exemple entre une session SAS installée sur un PC et une autre session SAS installée sur un serveur Windows) à travers un « firewall » ?

La méthode présentée ici concerne la configuration via une plage de port (il existe aussi la configuration sur un port unique qui n'est pas présentée ici) avec SAS 9.2 :
1- Création du fichier de commande SAS \SASFoundation\9.2\mysas.cmd sur le serveur SAS, en définissant la plage de port choisie, soit de 2040 à 2044 dans le cas ci-dessous :

\SASFoundation\9.2\sas.exe -tcpportfirst 2040 -tcpportlast 2044 %*

2- Insertion des 2 lignes suivantes dans le fichier services du serveur SAS :

spawnport 5060/tcp # Port for external SAS client to spawner
servport  5080/tcp # Port for spawner and SAS/CONNECT server


3- Installation et démarrage du service « SAS Job Spawner » sur le serveur SAS :

C:\SAS\SASFoundation\9.2\spawner -i -c tcp -noinheritance -service spawnport -sasdaemonservice servport -sascmd C:\SAS\SASFoundation\9.2\mysas.cmd
net start "SAS Job Spawner"


4- Insertion de la ligne suivante dans le fichier services du PC  :

fireport 5010/tcp # Firewall computer port

5- Configurer le serveur firewall de manière à mapper le port 5010, coté PC, et le port 5060, coté spawner

6- Tester la connexion, coté PC :

%let serveur=serveur;
options comamid=tcp remote=serveur.fireport;
filename rlink "C:\SAS\SASFoundation\9.2\connect\saslink\tcpwin.scr";
signon;
   

Retour Haut


 
Caractéristiques :
  • Catégories : SAS/Connect
  • OS : Windows, Unix, z/OS
  • Version : 8.2 et au-delà
  • Vérifié en février 2011
Comment ajouter des informations dans le journal du spawner pour SAS/CONNECT ?

Il faut ajouter l'option -verbose dans la commande de lancement du spawner.
Exemple sous Unix :

sastcpd -service unxspawn –verbose -logfile /local/u/sasusr/mytest/sastcpd.log

 
 
 

 
Caractéristiques :
  • Catégories : SAS/Connect
  • OS : z/OS
  • Version : 8.2 et au-delà
  • Vérifié en novembre 2010
Que faire lorsque le message suivant est reçu lors de la mise en place du connect spawner SAS9 sur MVS ?

Error spawning child process, message is An unexpected error has occurred in with return code 0x0 .

Ce message est dû à un problème de code page. Il faut vérifier les valeurs hexadécimales de la première ligne du fichier spawnsas.sh. Les valeurs doivent être les suivantes :

#!/bin/sh
7568896A8
BA1295128

Aide en ligne :

Le client/serveur dans l'environnement NT et son optimsation (PDF)
Installing and Starting a PC Spawner on Windows Operating Systems (PDF)
SAS/CONNECT® 9.2 User's Guide (PDF)
Communications Access Methods for SAS/CONNECT® 9.2 and SAS/SHARE® 9.2 (PDF) 

Retour Haut  

Caractéristiques :
  • Catégories : Macro-langage
  • OS : Windows, Unix, z/OS
  • Version : 8.2 et au-delà
  • Vérifié en novembre 2010
Comment empêcher une macro variable utilisée en mode Rsubmit d'être interprétée lors de la compilation ?

Il faut utiliser la fonction %NRSTR, qui empêche la résolution de la variable en local. En effet, elle masque à la compilation les caractères & et %.
Exemple :

%macro  test ;
  %let srv=DEV 5000;
  options comamid=tcp remote=srv;
  signon noscript user="alpha4" passwd="a4";
    %syslput a=b;
    rsubmit;
      %nrstr(%put &a);
    endrsubmit;
    dm 'RGET';
  signoff;
%mend test;

% test ;