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

Linux Discussion :

utiliser une requete SQL dans un shell


Sujet :

Linux

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Points : 22
    Points
    22
    Par défaut utiliser une requete SQL dans un shell
    Bonjour,

    je voudrais interroger une table Personnes et recuperer les infos dans pour les utiliser dans mon shell.

    1 ce que je sais

    pour se connecter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlplus moi/monpass@mabase
    executer ma requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sqlplus moi/monpass@mabase << EOF
    SELECT * FROM PERSONNES;
    quit
    EOF
    2 ce que je ne sais pas

    comment recuperer et exploiter le resultat de ma requete ?

    en esperant avoir été clair


    ps : systeme Unix
    base oracle 10g

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 587
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 587
    Points : 19 467
    Points
    19 467
    Par défaut
    Ça dépend...

    Pour l'instant, le résultat de ta requête s'affiche dans la console.
    En gros, c'est comme si tu faisais un cat sur un fichier.

    Que veux-tu faire après ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Points : 22
    Points
    22
    Par défaut
    par exemple je voudrais recuperer chaque Personnes.Nom pour chercher en UNIX un fichier

    chaque Nom possede un fichier dans un repertoire donc apres l'ideal ce serait que je fasse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ls Nom_Prenom_CodePostal.dat

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 587
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 587
    Points : 19 467
    Points
    19 467
    Par défaut
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function Recherche() {
       while read nom prenom codeP
         do
            ls ${nom}_${prenom}_${codeP}.dat
       done
    }
     
    sqlplus moi/monpass@mabase << EOF | Recherche
    SELECT Nom, Prenom, CodePostal FROM PERSONNES;
    quit
    EOF

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    j'ai essayé la solution proposée, mais ça me liste tous les fichiers quil y a dans le repertoire où se trouve le shell.

    en plus je crois m'etre mal exprimé, donc je vais essayer detre plus clair.

    j'ai une table (oracle) dans laquelle j'ai un champ name (nom du fichier) et un champ target (chemin).

    le shell doit :
    1 se connecter a la base
    2 parcourir la table (select target,name from maTable
    3 recuperer le resultat de la requete
    4 pour chaque ligne de la requete, on a le chemin complet du fichier et et le shell doit aller sur chaque fichier (et par exemple compter le nb de ligne, avec wc -l $name

    je ne sais pas si c'est plus clair, mais ça donne une idee de ce que je veux faire

    merci

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Points : 376
    Points
    376
    Par défaut
    je croyais que tu avais 3 champs Oo


    donc en gros tu veux récupérer ce qu'il y a dans ta base, ce qui te permettrait d'accéder aux fichiers par $chemin/$nom

    mais quel rapport avec nom, prénom et code postal ???

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Points : 22
    Points
    22
    Par défaut
    c'est exactement ça.

    Pour nom prenom et cp, en fait j'ai changé d'avis, car au depart je pensais reconstituer le chemin(avec nom, prenom,cp), puis j'ai préféré mettre le chemin dans un champs.

    donc j'arrive pas vraiment à récupérer le contenu de ma table surtout que ma requête va me retourner plusieurs lignes (plusieurs fichiers) et je vais devoir contrôler leur nombre de lignes pour chacun d'eux.

    si vous pouvez juste me dire comment récupérer ces valeurs et surtout si c'est réalisable

    Merci

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/09/2006, 11h55
  2. Réponses: 3
    Dernier message: 17/06/2006, 23h15
  3. [newbie]une requete sql dans javascript
    Par megapacman dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/06/2006, 15h59
  4. Réponses: 1
    Dernier message: 25/10/2005, 12h18
  5. résultat d'une requete SQL dans un tableau en JSP
    Par Paradoxys dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 06/04/2005, 16h17

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