IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macro Discussion :

Accès simultané à des macros


Sujet :

Macro

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Accès simultané à des macros

    Bonjour, un répertoire sur un serveur SAS contient un bon nombre de macros.
    Quelques unes d'elles sont utilisées régulièrement par plusieurs personnes.
    Le problème est que lorsque l'un de nous a sa session ouverte, cela bloque l'accès aux macros pour les autres.
    I a-t-il un moyen d'accéder aux mêmes macros au même moment sans les copier en dur sur le programme.
    Peut-être une option spéciale dans le %include ou autre chose?
    Merci pour vos réponses

  2. #2
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    Bonjour,

    Est ce que c'est possible d'expliquer la notion de bloquer?
    Vous êtes sur quel type de serveur?
    C'est un catalogue de macro ou des fichiers plats?

    Cordialement.
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Points : 1
    Points
    1
    Par défaut re
    bonjour bahraoui
    je ne sais pas exactement si c'est unix (je pense que c'est ça que tu voulais savoir)
    en tout cas l'ensemble des macros individuelles se situe dans un répertoire sur ce serveur et par exemple, si ma session est ouverte et que l'un(e) de mes collègues ouvre sa session et lance un programme faisant appel à une de ces macros il lui délivre un message d'erreur du style :"macro toto vérouillé par another process"
    Du coup la seule solution temporaire qu'on a trouvé c'est de copier en dur les macros dans nos programmes. Mais ça va vite devenir ingérable.
    Merci par avance.

  4. #4
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    C'est bizzare!!!
    C'est un catalogue de macros ou des fichiers plats?
    Vous accédez comment à ces macros? vous faites un %include "chemin vers programme/prg.sas";??
    Vous utilisez tous le même compte?
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Points : 1
    Points
    1
    Par défaut re
    oui %include pour accès aux macros
    on a chacun un poste unique mais on a un groupe d'accès au répertoire
    quant à "catalogue de macros ou fichiers plats" je ne saisis pas trop la différence

  6. #6
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    Vous faites un %include "repertoire/prg.sas".
    Je crois que le problème est dans cette phrase "un groupe d'accès au répertoire". Ce qui se passe c'est qu'il y a un verrou qui verouille le fichier tant qu'il est utilisé par un utilisateur.
    Je crois qu'il fadrait voir ce problème avec l'administrateur.
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Points : 1
    Points
    1
    Par défaut re
    ok merci je vais voir ça avec l'admin
    je vous tiens au courant

  8. #8
    Membre actif

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 233
    Points : 254
    Points
    254
    Par défaut
    Peut-être je dirai une connerie, mais pourquoi faire le répertoire du système de fichier avec des fichiers .SAS pour les inclure ensuite dans les programmes (si j'ai bien compris, c'est ce que vous faites), au lieu de mettre les macros (compilées) dans un catalogue de SAS et les exécuter directement par le nom ? Tu vois la différence ?

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Un répertoire sur le serveur contient toutes les macros
    Dans mon code pour chaque projet je compile toutes les macros en les appelant par des %include.
    De cette manière lorsque j'utilise l'une d'elles, elles sont automatiquement chargées.
    Je n'ai pas trop bien saisi l'histoire de catalogue mais je pense que c'est que je fais en quelque sorte

  10. #10
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    J'ai déjà travaillé de cette manière, est je n'ai jamais eu ce type de problème.
    Il faut voir avec l'administrateur du serveur.
    il y a un problème d'accès concurent.
    Les fichiers sont verouillés en mode lecture (pas normal).
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  11. #11
    Membre actif

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 233
    Points : 254
    Points
    254
    Par défaut
    Citation Envoyé par jéjédu13400 Voir le message
    Un répertoire sur le serveur contient toutes les macros
    Dans mon code pour chaque projet je compile toutes les macros en les appelant par des %include.
    De cette manière lorsque j'utilise l'une d'elles, elles sont automatiquement chargées.
    Je n'ai pas trop bien saisi l'histoire de catalogue mais je pense que c'est que je fais en quelque sorte
    C'est-à-dire que SAS propose un autre mode de fonctionnement.
    En gros, qu'est-ce que c'est qu'une macro ? Tu "exécute" le code entre %macro et %mend, SAS le prépare (compile) et garde dans un catalogue (presque la même chose qu'une bibliothèque). Ensuite tu exécute la ligne %nom_de_ton_macro; - SAS exécute le code associé à ce nom.

    Par défaut, le catalogue de stockage des macro est temporaire. Comme WORK - tout le contenu est visible uniquement dans cette session et disparait après sa fermeture. Mais tu peux préciser le catalogue où mettre les macros compilés, et - exactement comme pour les bibliothèques - le macro sera visible pour tous les utilisateurs, et en plus elle deviendra persistant, i.e. sera accessible à la réouverture d'une session.

    Voilà, en gros, le fonctionnement des catalogues des macros.

    Et quand tu fais %include, c'est comme si tu fais tes macros dans le catalogue personnel/temporaire. Même sans "si" - c'est dans ton catalogue temporaire. C'est juste le fichier (qui est en dehors du périmètre de SAS) de source de a macro qui est partagé.

  12. #12
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    merci green_fr
    mais comment lui spécifier la biblio (catalogue) dans laquelle tu stockes les compilations.

  13. #13
    Membre actif

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 233
    Points : 254
    Points
    254
    Par défaut
    Il y a des options pour ça.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    options mstored sasmstore=libref;
    Cette option dit à SAS qu'il faut stocker les macros qu'on veut stocker dans la bibliothèque libref.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %macro nomMacro /store source;
    Option /store dit que la macro est à stocker.

    Attention, si tu ne met pas l'option source, SAS ne garde que le code compilé. C'est-à-dire, si tu perd la code source, c'est foutu pour les modifications : la macro marche, mais tu n'as aucune possibilité de la modifier.

    Après il y a aussi proc catalog pour voir la liste des macros dans telle ou telle bibliothèque et (s'ils ont été créées avec une option source) voir la source.

Discussions similaires

  1. Réponses: 5
    Dernier message: 04/04/2012, 22h46
  2. Réponses: 9
    Dernier message: 09/10/2010, 02h51
  3. [Architecture] gestion des accès simultanés
    Par JeromeBcx dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 28/02/2008, 16h35
  4. [MFC] acces a des composants
    Par abignon dans le forum MFC
    Réponses: 7
    Dernier message: 26/03/2004, 11h58
  5. Réponses: 7
    Dernier message: 08/03/2004, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo