Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > Administration
Administration Forum d'entraide sur les fonctionnalités d'administration de SAS : installation, portal, serveurs
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 03/08/2011, 11h03   #1
Membre actif
 
Inscription : juillet 2006
Messages : 295
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 295
Points : 191
Points : 191
Par défaut Batch SAS Unix et Windows

Bonjour,

Je travaille sur un ordinateur équipé de Windows Vista, mais avec un SAS installé sur un serveur Unix.
Quand je lance SAS, c'est depuis une application "Citrix" (là je ne sais pas exactement ce que c'est).
Dans mes programmes, afin d'accéder à des tables stockées sur le serveur Unix, j'encapsule mes commandes entre rsubmit et endrsubmit. Jusqu'ici pas de problèmes.

Je cherche désormais à lancer des commandes en batch afin de pouvoir automatiser certaines tâches Unix par la suite (par exemple la protection des tables en lecture). J'ai regardé ce qui se fait à droite et à gauche mais n'étant pas du tout familier avec le DOS et avec les batch, je suis un peu bloqué.

Voici mon programme actuel :
Code :
1
2
3
cd /produits/sas/sas9.2/SASFoundation/9.2
./sas -sysin $HOME/connexion.sas -log $HOME/connexion.log
./sas -sysin $HOME/test.sas -log $HOME/test.log
Je me place tout d'abord dans le répertoire qui contient l'exécutable SAS, puis je lance SAS avec un programme qui s'appelle connexion.sas qui lance la connexion vers le serveur Unix. Cette connexion se passe bien puisqu'il me demande mon mot de passe avant de passer à la suite. Le problème, c'est que pour que Connexion.sas soit reconnu, il faut que ce programme soit stocké sur le serveur Unix et non dans Windows, alors que tous mes programmes sont stockés sous Windows (hormis pour cette utilisation depuis Unix, les programmes doivent être stockés sous Windows pour apparaître dans les choix possibles d'ouverture de fichiers sous SAS).

Y-a-t-il un moyen de faire référence à un programme stocké sous Windows au lieu d'un programme sous Unix ?

Voici le message qui apparaît quand je fais appel à un programme stocké sous Windows :

Citation:
%include "O:\SAS\essai.sas";
WARNING: Physical file does not exist, /zfs/b3vg19lv1/produits/sas/sas9.2/SASFoundation/9.2/O:\SAS\essai.sas.
ERROR: Cannot open %INCLUDE file O:\SAS\essai.sas.
Merci d'avance !
Alqualonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 13h22   #2
Membre habitué
 
Femme Géraldine CADE DESCHAMPS
Support Clients SAS (France et Europe)
Inscription : février 2010
Messages : 62
Détails du profil
Informations personnelles :
Nom : Femme Géraldine CADE DESCHAMPS
Localisation : France

Informations professionnelles :
Activité : Support Clients SAS (France et Europe)
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2010
Messages : 62
Points : 139
Points : 139
Bonjour,

- Pour soumettre le programme uniquement sous unix, il faut que le programme soit sur unix. Le système doit pouvoir y accéder.

- Une idée : vous pouvez programmer un batch windows en créant .bat que vous ordonnancerez depuis le plannificateur de tâches de windows. Votre programme SAS devra contenir l'instruction SIGNON avec user et mot de passer, et vous utiliserez les instructions RSUBMIT et ENDRSUBMIT.
Voir ce document :
TS-648, "Example of batch processing under indows"
http://support.sas.com/techsup/technote/ts648/ts648.pdf

Cordialement
Géraldine CADE
Géraldine_Cade_SAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 13h45   #3
Membre actif
 
Inscription : juillet 2006
Messages : 295
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 295
Points : 191
Points : 191
Bonjour Geraldine et merci pour votre réponse.

Cependant, le problème est que je n'ai nulle part sur Windows le sas.exe qui me permet de lancer SAS. C'est sans doute dû à l'utilisation de ce fameux Citrix que je ne maîtrises pas et ne comprends pas. J'ai en effet localisé le sas.exe sur le chemin D:/... mais le D:/ présent sur mon ordinateur n'est pas le même que celui-ci (j'ai fait afficher les fichiers et dossier cachés au cas où mais ce n'est pas ça).

Pour une utilisation à partir d'Unix, il n'y a donc pas de "pont" possible ? Car habituellement mon
Code :
%include "O:\SAS\Ouverture.sas";
marche bien quand je ne le mets pas entre rsubmit et endrsubmit. J'espère ne pas vous perdre, j'avoue que je maîtrise pas suffisamment l'architecture présente ici pour pouvoir aider à résoudre ce problème.
Alqualonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 14h30   #4
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 823
Points : 2 823
Bonjour.
Citrix est un émulateur, c'est à dire un logiciel qui te permet, depuis ton PC, d'ouvrir une session sur un ordinateur distant. Dans ton cas, on a le chemin suivant :

toi --> ton PC --> Citrix --> session sur un serveur Windows --> sas --> connexion au serveur Unix

Le chemin (O:\etc.) est visible de ton PC et du serveur Windows auquel Citrix te donne accès. Unix ne le connaît pas (ou alors pas sous ce nom).
La solution de Géraldine supposerait que tu aies les droits pour programmer une application avec MS Scheduler sur le serveur Windows auquel tu accèdes via Citrix.
Globalement, il faudrait voir avec l'informatique (soit sur le serveur Windows, soit sur le serveur Unix) comment tu peux lancer ton batch. Globalement, prépare-toi à rassembler tout tes codes à lancer en un seul programme, ce sera plus simple. Et si tout est lancé entre RSUBMIT et ENDRSUBMIT dans tes programmes, mieux vaut lancer directement le batch sur Unix, ça évitera des soucis inutiles.

Bon courage.
Olivier
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 15h28   #5
Membre actif
 
Inscription : juillet 2006
Messages : 295
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 295
Points : 191
Points : 191
Merci pour cette information claire sur Citrix et le chemin me concernant, je pense avoir saisi le gros du truc.

Effectivement, il serait sans doute faisable de copier tous les codes SAS dans un même programme afin de les lancer depuis Unix. Ca risque d'être un peu contraignant pour l'utilisation toute simple que je voulais en faire, à savoir lancer un programme qui crée une table SAS, puis limiter les droits en écriture sur cette table, mais ça pourrait tout de même me servir dans le futur.

Merci à tous les deux pour vos réponses !
Alqualonde 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 12h21.


 
 
 
 
Partenaires

Hébergement Web