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

Informix Discussion :

impression du resultat d'une requete


Sujet :

Informix

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 44
    Points : 31
    Points
    31
    Par défaut impression du resultat d'une requete
    Bonjour,

    J ai crée un script qui fait appel à dbaccess et exécute une requête, mais je voudrais y ajouter une ligne qui me permet d’imprimer le résultat de cette requête(je crois qu on appelle ça piper)
    dans dbaccess lorsque j’écris la requête (select * from agent) et je veux imprimer le résultat je fais run ensuite output ensuite to pipe et j’écris: lp -dlpr et l impression se fait automatiquement.

    mais je ne sais pas comment faire ça dans un script

    Merci infiniment

  2. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 148
    Points : 28 113
    Points
    28 113
    Par défaut
    Bonjour,

    Dans un script, l'appel à dbacess peut se faire de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "select * from .... where ...." | dbaccess ma_base_de_donnee
    Donc, ce qu'il faut faire, c'est rediriger la sortie de cette comande vers un fichier (très) temporaire, puis de l'imprimer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "select * ..." | dbacess ma_base > /tmp/mon_fichier_temporaire.txt 2>&1
     
    lp -dlpr /tmp/mon_fichier_temporaire.txt
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 44
    Points : 31
    Points
    31
    Par défaut impression du resultat d'une requete
    Bonjour,
    ca marche pas dans mon cas ou bien je ne sais comment l ecrire. voici la partie de mon script ou je fais appel à la requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    isqlrf - -<<! 1>/tmp/err_vf 2>>/tmp/err_vf 
    database conge;
    select service,nom,prenom,disponible
    from sit_conge
    where service=1
    order by nom;
    close database;

    Merci infiniment

  4. #4
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 148
    Points : 28 113
    Points
    28 113
    Par défaut
    Bonjour,

    Je ne sais pas comment utiliser isqlrf.

    En revanche, le code suivant devrait fonctionner (le fait qu'il soit en bash est uniquement à cause du if, qui sert à vérifier que le fichier est présent ou non) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #!/bin/bash
     
    if [ -f /tmp/select_conges.txt ]
      echo "Fichier /tmp/select_conges.txt deja existant. Effacez-le avant de recommencer"
      exit 1;
    fi
     
    echo "select service,nom,prenom,disponible from sit_conge where service=1 order by nom;" | dbaccess conge > /tmp/select_conges.txt
     
    lp -dlpr /tmp/select_conges.txt
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 16
    Points : 26
    Points
    26
    Par défaut
    Bonjour,
    A mon avis les tirets sont colles et il manque le dernier point d'exclamation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    isqlrf - -<<! 1>/tmp/err_vf 2>>/tmp/err_vf 
    DATABASE conge;
    SELECT service,nom,prenom,disponible
    FROM sit_conge
    WHERE service=1
    ORDER BY nom;
    close DATABASE;
    !
    et on doit pouvoir ouvrir la base avec isqlrf c'est a dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    isqlrf  conge<<! 1>/tmp/err_vf 2>>/tmp/err_vf 
    SELECT service,nom,prenom,disponible
    FROM sit_conge
    WHERE service=1
    ORDER BY nom;
    !
    ce qui evite d'ouvrir et fermer la base.

Discussions similaires

  1. Impression du resultat d'une requete SQL
    Par The_macrafT dans le forum Développement
    Réponses: 3
    Dernier message: 03/01/2008, 12h57
  2. Impression du resultat d'une requete SQL
    Par The_macrafT dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 03/01/2008, 12h57
  3. Réponses: 2
    Dernier message: 29/11/2004, 13h13
  4. Syntaxe pour avoir un seul resultat dans une requete
    Par Pompil dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/09/2003, 16h51
  5. [VB6] [Excel] Résultat d'une requete ds une feuille
    Par elifqaoui dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 07/01/2003, 18h52

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