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

Adaptive Server Enterprise Sybase Discussion :

[ASE] Modification variable du script shell dans une connexion isql


Sujet :

Adaptive Server Enterprise Sybase

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2002
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2002
    Messages : 52
    Par défaut [ASE] Modification variable du script shell dans une connexion isql
    Bonjour,

    Voila je voudrais modifier une variable de type shell dans une connexion isql.

    Est ce que tout d'abord ceci est possible? car je réussis a utiliser une variable de type shell dans la connexion isql.

    un petit exemple pour que tout le monde comprenne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    INDI_T=0 #Ma varibale shell que je souhaite modifier
    LOT=1 #Variable shell
     
    isql -U$USERID -P$PASSWORD -S$SERVER << EOF
    use $BASENAME
    go
    select 'CONNEXION ISQL'
    go
    if (exists(select 1 from matable where nume= "$LOT"))
    begin
    select 'CONNEXION ISQL pour le lot'
         if (exists(select 1 from matable where nume = "$LOT" and code ='G' and code_s = 'R' and type= 'T'))
              INDI_T=0 -- Je ne sais comment affecter la nouvelle valeur a cette variable du shell
         ELSE 
              INDI_T=1-- Je ne sais comment affecter la nouvelle valeur a cette variable du shell
     
    end
    else 
    INDI_T=0-- Je ne sais comment affecter la nouvelle valeur a cette variable du shell
    go
    exit
    go
    EOF
    Merci pour vos réponses.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Par défaut
    Tu dois récupérer la valeur de INDI_T en sortie de l'iSQL. Il suffit de rediriger la sortie ISQL dans un fichier et de récupérer le contenu du fichier dans la variable.
    Par contre, il faut s'assurer que la variable @INDI_T sera bien formatée, sans caractères parasites. Pour nettoyer, tu peux utiliser awk par exemple, dans le cat.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    INDI_T=0 #Ma varibale shell que je souhaite modifier
    LOT=1 #Variable shell
    FICHIER=chemin_fichier
     
    isql -b -U$USERID -P$PASSWORD -S$SERVER << EOF > $FICHIER
    set nocount on
    go
    USE $BASENAME
    go
    IF (EXISTS(SELECT 1 FROM matable WHERE nume= "$LOT"))
    begin
         IF (EXISTS(SELECT 1 FROM matable WHERE nume = "$LOT" AND code ='G' AND code_s = 'R' AND type= 'T'))
              select @INDI_T=0 -- Je ne sais comment affecter la nouvelle valeur a cette variable du shell
         ELSE 
              select @INDI_T=1-- Je ne sais comment affecter la nouvelle valeur a cette variable du shell
     
    end
    else 
    select @INDI_T=0-- Je ne sais comment affecter la nouvelle valeur a cette variable du shell
    select @INDI_T
    go
     
    EOF
    INDI_T=`cat $FICHIER`

  3. #3
    Membre averti
    Inscrit en
    Mars 2002
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2002
    Messages : 52
    Par défaut
    Merci, même si je voulais eviter de passer par cette solution mais apres mes divers essai je pense que je vais bien être obligé de faire comme cela.

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Par défaut
    En shell il n'y a pas le choix.

    Par contre, si tu code en perl par exemple on peut beaucoup plus facilement interagir sans avoir à faire de fork()/exec() etc.

    Michael

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

Discussions similaires

  1. Intégrer des scripts SHELL dans une page web
    Par abdellah 1 dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 10/05/2010, 16h35
  2. Réponses: 10
    Dernier message: 15/07/2008, 11h52
  3. Réponses: 3
    Dernier message: 11/09/2007, 17h58
  4. Appeller un script shell dans une page html
    Par Scurz dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 04/05/2007, 14h50
  5. Executer 1 script contenu dans une variable PHP
    Par emstar dans le forum Langage
    Réponses: 5
    Dernier message: 19/04/2006, 11h48

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