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

SQL Oracle Discussion :

Variable du user Unix dans SQL


Sujet :

SQL Oracle

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Points : 130
    Points
    130
    Par défaut Variable du user Unix dans SQL
    Bonjour,

    Je suis sur une base 10g sous Unix.
    Je voudrais pouvoir utiliser sous SQL*Plus une variable définie dans le .profile du user unix qui a lancé SQL*Plus.
    Je réussie à lire cette variable avec "! echo $varaible" mais je voudrais récupérer le résultat et l'utilisateur dans un script SQL
    Comment puis-je faire ?

    Merci de votre aide

  2. #2
    Membre averti Avatar de dariyoosh
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 236
    Points : 334
    Points
    334
    Par défaut
    Citation Envoyé par Hobbi1 Voir le message
    Bonjour,

    Je suis sur une base 10g sous Unix.
    Je voudrais pouvoir utiliser sous SQL*Plus une variable définie dans le .profile du user unix qui a lancé SQL*Plus.
    Je réussie à lire cette variable avec "! echo $varaible" mais je voudrais récupérer le résultat et l'utilisateur dans un script SQL
    Comment puis-je faire ?

    Merci de votre aide

    Bonjour,

    Essayez la commande suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SQL> HOST echo $variable
    Cordialement,

    Dariyoosh
    Cordialement,
    Dariyoosh

  3. #3
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    9.12 Passing Operating System Variables to SQL*Plus
    You can pass an operating system variable to a SQL*Plus script as a command line parameter. For example, on UNIX:

    sqlplus hr/my_password @myscript.sql $USER


    or in a Windows command window:

    sqlplus hr/my_password @myscript.sql %USERNAME%

    The script myscript.sql could reference the substitution variable "&1" to see the passed name.


  4. #4
    Membre habitué
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Points : 130
    Points
    130
    Par défaut
    Merci pour ces réponses.

    Il s'agit de créer un script SQL qui puisse entrer dans le process normal de l'entreprise. Les scripts SQL sont appelés tels quels, sans paramètres.

    J'ai essayé HOST et mon soucis est de récupérer le résultat pour le mettre dans une variable afin de l'utiliser plus loin

  5. #5
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Il n'est pas possible ce que tu veux faire au moins d'une manière simple. Bref, si tu y tiens tu pourrais écrire une procédure PL/SQL externe qui pourrait faire appel à une routine C ou Java pour récupérer la variable d’environnement en question et l’appeler dans ton script sql. N’est pas donc plus simple de la transmettre comme paramètre à ton script ?

  6. #6
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut !

    Et ça, c'est bon ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SQL> select osuser
      2  from v$session
      3  where sid = (select sid from v$mystat where rownum = 1)
      4  and rownum = 1;
     
    xxxxx
    (xxxxx pour garder l'anonymat )

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  7. #7
    Membre habitué
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Points : 130
    Points
    130
    Par défaut
    Merci pour toutes ces réponses.

    Donc finalement, je vais adapter l'existant pour envoyer un paramètre.

  8. #8
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Tiens Mnitu, ma requête renvoie-t-elle le bon résutlat ?
    (je l'ai faite un peu au pif, donc j'aimerais bien savoir quand même )

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  9. #9
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Elle a bien renvoyé mon login windows me concernant.

  10. #10
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par pacmann Voir le message
    Tiens Mnitu, ma requête renvoie-t-elle le bon résutlat ?
    (je l'ai faite un peu au pif, donc j'aimerais bien savoir quand même )
    Salut pacmann,

    Ta requête renvoie le bon résultat mais ce n'est pas ça le problème; je pense que t'as survolé un peu ce sujet.
    Un utilisateur UNIX (mais, peu importe l'OS) ouvre une session; plusieurs variables d'environnement sont positionnées par son fichier .profile. Le question est comment peut-on obtenir ces valeurs depuis sqlplus. La commande host proposée, affiche bien le contenu de la variable sur l'écran mais ne permet pas de récupérer cette valeur depuis sqlplus dans une variable host ou de substitution.

  11. #11
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Hmm, ok.

    Par contre, tu peux rediriger ton host dans un fichier, puis le lire avec utl_file...

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  12. #12
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par pacmann Voir le message
    Hmm, ok.

    Par contre, tu peux rediriger ton host dans un fichier, puis le lire avec utl_file...
    Bine sûr mais, il te faut le droit de créer des fichiers quelque part. Et si tu y pense un peu tu verras que ce n'est pas une vrai solution. Ne parlons plus de comparer cette solution avec celle où le paramètre est transmis au script sql à exécuter.

Discussions similaires

  1. utiliser une variable déclaré en delphi dans un sql
    Par jamdinhe dans le forum Bases de données
    Réponses: 12
    Dernier message: 28/06/2018, 09h32
  2. variable Unix dans requete SQL
    Par shakkou dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/06/2010, 14h59
  3. Réponses: 4
    Dernier message: 29/12/2006, 17h03
  4. Probleme d'affichage du win user dans SQL server
    Par soulsidibe dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 22/08/2006, 11h48
  5. Réponses: 22
    Dernier message: 09/12/2005, 21h27

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