Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > SAS Base
SAS Base Forum d'entraide sur SAS base : étape data, procédures non statistiques, procédures non graphiques, SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/12/2011, 15h27   #1
Futur Membre du Club
 
Inscription : novembre 2007
Messages : 71
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 71
Points : 17
Points : 17
Par défaut Commande unix depuis SAs

Bonjour,

Je cherche à lancer une commande Unix depuis mon poste SAS en client lourd mais j'ai le message d'erreur suivant

Code :
1
2
3
4
5
1096  rsubmit ;
NOTE: Remote submit TO OPBCDSAS commencing.
ERROR: Shell escape IS NOT valid IN this SAS session.
3142  %sysexec %str(cd /users/smith/report);
NOTE: Remote submit TO OPBCDSAS complete.
Pourtant le code que je lance fonctionne si je le dépose sur le serveur et que je l'exécute

Code :
%sysexec %str(cd /users/smith/report);
J'ai essayé avec les call system, systask, X c'est toujours la même erreur

Help

D'avance merci
baime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 15h32   #2
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 012
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 012
Points : 1 717
Points : 1 717
tu peux mettre le code soumis au serveur ? avec le bloc rsubmit; endrsubmit
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 15h37   #3
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 828
Points : 2 828
Bonjour.
Vraisemblablement l'administrateur du serveur SAS a interdit l'exécution de commandes système.
Que cherches-tu à faire exactement ? Pas juste un CD, j'imagine.
S'il s'agit de supprimer des fichiers, d'en renommer ou de créer des répertoires, il y a des fonctions SAS pour réaliser cela et il vaudrait mieux te tourner vers elles.
Bon courage.
Olivier
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/12/2011, 15h37   #4
Membre du Club
 
Homme
Inscription : septembre 2009
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2009
Messages : 60
Points : 52
Points : 52
Hello,

Je crois que cela vient tout simplement du fait que les commandes X ou système ne sont pas autorisés depuis ta session SAS serveur.

Tu peux vérifier la valeur de l'option XCMD avec la syntaxe suivante :

Code :
1
2
3
 
proc options  host;
run;
Si XCMD n'est pas activé, pas de commande système.
wise2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 15h38   #5
Futur Membre du Club
 
Inscription : novembre 2007
Messages : 71
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 71
Points : 17
Points : 17
c'est le code que j'avais dans mon message

Code :
1
2
3
4
 
rsubmit ;
%sysexec %str(cd /users/smith/report);
endrsubmit ;
Et je le lance depuis mon poste par F3

Sur le serveur j'ai créé un fichier .sas dans lequel il n'y a que la ligne avec le sysexec et je l'exécute à l'aide de la commande

baime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 15h42   #6
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 012
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 012
Points : 1 717
Points : 1 717
pK t'as mis alors rsubmit et endrsubmit? si ton PGM sas est enregistré dans le serveur Unix ?
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 15h43   #7
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 012
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 012
Points : 1 717
Points : 1 717
Citation:
Envoyé par wise2 Voir le message
Si XCMD n'est pas activé, pas de commande système.
Ah bon la %sysexec et systask ne marchent pas non plus ?
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 15h55   #8
Futur Membre du Club
 
Inscription : novembre 2007
Messages : 71
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 71
Points : 17
Points : 17
pour s_a_m

je t'ai mis les 2 codes celui sur mon poste avec le rsubmit et celui sur le serveur sans le rsubmit.

celui lancé en commande unix fonctionne celui lancé depuis mon poste ne fonctionne pas.

Pour wise
résultat de la proc options
NOXCMD The X Command is not valid in this SAS session
ça veut dire que X , systask et sysexec ne marcheront pas sur mon poste.

Et pour olivier
Effectivement ce n'est pas seulement un cd que je veux faire mais j'ai testé la fonctionnalité. et fait c'est une modification des droits sur les tables créées. il existe peut être une proc qui permet de le faire. Je veux modifier les droits de 444 à 774 temporairement
baime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 17h27   #9
Membre du Club
 
Homme
Inscription : septembre 2009
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2009
Messages : 60
Points : 52
Points : 52
Si tu lances ton programme directement depuis Unix, cela fonctionne puisque tu ne passes pas par SAS/Connect et tu n'es donc pas limité par l'option XCMD.

L'option XCMD a du être mise en place sur le serveur Unix dans le fichier de configuration par défaut. Si tu as un admin SAS sympa, tu peux peut être lui demander de supprimer cette contrainte au lancement de SAS serveur.

Sinon tu peux aussi écrire ton propre fichier de config et t'en servir pour lancer une session SAS/Connect, mais il est préférable de voir avec ton admin avant.
wise2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 11h24   #10
Futur Membre du Club
 
Inscription : novembre 2007
Messages : 71
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 71
Points : 17
Points : 17
Je vais voir avec l'admin

Merci à tous
baime est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h35.


 
 
 
 
Partenaires

Hébergement Web