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

Modules Perl Discussion :

Perl script to lauch a SAS session


Sujet :

Modules Perl

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 26
    Points : 20
    Points
    20
    Par défaut Perl script to lauch a SAS session
    Bonjour à tous,

    J'essaye d'interfacer une application SAS avec un serveur apache. J'ai trouvé quelques articles à ce sujet qui m'ont bien aidé. Mon problème est que l'executable de SAS se trouve dans le chemin suivant: "C:\Program Files\SAS\SAS 9.1\sas.exe"

    Dans mon script Perl, je déclare une variable qui spécifie le chemin d'accès de l'exécutable de la façon suivante : $SAS_EXE= 'C:\\"Program Files"\\SAS\\"SAS 9.1"\\sas.exe';

    Seulement, lors de l'exécution de mon script, SAS me renvoi l'erreur suivante:
    ERROR: Unrecognized SAS option name, 9.1"\SAS.EXE
    ERROR: (SASXKRIN): KERNEL RESOURCE INITIALIZATION FAILED.
    UNABLE TO INITIALIZE THE SAS KERNEL


    Je suppose qu'il s'agit d'un problème avec mon chemin d'accès qui contient des espaces (d'ou la présence des "").

    Quelqu'un aurait-il une solution?

    Merci beaucoup

    PS: Je débute en Perl... ^^

  2. #2
    Invité
    Invité(e)
    Par défaut
    Essaye en retirant les doubles quotes, et en dédoublant tes \ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $SAS_EXE= 'C:\Program Files\SAS\SAS 9.1\sas.exe';

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    Si je fais comme tu dis, il ne reconnait pas le chemin pour sas.exe et ne lance pas la console.

    $SAS_EXE= 'C:\Program Files\SAS\SAS 9.1\sas.exe'; #Marche pas
    $SAS_EXE= 'C:\\Program Files\\SAS\\SAS 9.1\\sas.exe'; #Marche pas non plus
    $SAS_EXE= 'C:\"Program Files"\"SAS"\"SAS 9.1"\sas.exe'; #Lance la console avec les même erreurs que mon post précédent


    Voila pour votre information la syntaxe d'éxécution de la commande pour lancer SAS:

    $rc= system( "$SAS_EXE " .
    "$START_UP_OPTIONS $OPTIONS " .
    "-sysin $HOME$connector$pname.sas " .
    "-log $HOME$connector$pname.log " .
    "-print $HOME$connector$pname.lst " .
    "-sasuser $HOME " .
    "-work $HOME $RE_USE" );

    Je m'en remet à vous... car la j'ai pas trop d'idée...

    Merci

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Il suffit d'une seule paire de doubles quotes !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $SAS_EXE= '"C:\Program Files\SAS\SAS 9.1\sas.exe"';
    --
    Jedaï

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    Ca marche !!!!

    Super à vous deux pour votre aide...

    La prochaine fois : RTFM ^^

  6. #6
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par flykev
    Ca marche !!!!

    Super à vous deux pour votre aide...

    La prochaine fois : RTFM ^^
    En fait c'est typiquement le type d'information que tu ne trouveras jamais dans un manuel parce que ça apparaît évident à tous ceux qui l'utilise. Mais dans ce cas c'est une bonne idée de regarder les exemples (ici tu avais la solution dans les propriétés de la ligne de commande par exemple, ou en faisant TAB avec un chemin incomplet comprenant des espaces dans la partie à compléter).

    (NB : Ca n'a rien à voir avec Perl d'ailleurs : c'est directement lié au shell employé (ici cmd) )

    --
    Jedaï

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Jedai
    Il suffit d'une seule paire de doubles quotes !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $SAS_EXE= '"C:\Program Files\SAS\SAS 9.1\sas.exe"';
    --
    Jedaï
    Comment ne pas y avoir pensé plus tôt....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Perl scripting ;) Quel usage de perl ?
    Par djibril dans le forum Langage
    Réponses: 58
    Dernier message: 26/05/2009, 14h15
  2. [Perl script to VBscript]
    Par wildelmenzah dans le forum VBScript
    Réponses: 5
    Dernier message: 16/01/2006, 16h12
  3. Réponses: 4
    Dernier message: 03/11/2005, 12h14
  4. [Configuration] Problème avec un script de login utilisant une session
    Par HNT dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 27/09/2005, 19h56
  5. [langage] perl script pour balancer un B-arbre
    Par RonMaster dans le forum Langage
    Réponses: 5
    Dernier message: 22/10/2004, 17h35

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