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

Oracle Discussion :

Nom du fichier résultat d'une requête...


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    mai 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2002
    Messages : 29
    Points : 20
    Points
    20
    Par défaut Nom du fichier résultat d'une requête...
    Bonjour les gens,

    Je viens d'écrire un script qui récupère le résultat d'une requête SQL dans un fichier .txt
    A ce script je lui passe un paramètre (utilisé dans le WHERE de mon SELECT), j'aimerai pouvoir utilisé ce même paramètre pour créer mon nom de fichier texte. Est-ce que c'est possible?

    Ligne de commande : @mon_script.sql 'valeur_de_mon_attribut'
    Code du script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    DEFINE p_valeur_attribut = '&1'
    DEFINE p_nom_fic_resultat = 'c:\chemin_d_acces\stats_' || '&1' || '.txt'
     
    spool &p_nom_fic_resultat
    	select * from ma_table  where mon_attribut= '&p_valeur_attribut';
    spool off
    Avec le code ci-dessus, j'ai le fichier stats_.LST qui est créé. A l'intérieur, il contient bien le résultat de la requete SQL. Alors que je voudrais un fichier stats_valeur_de_mon_attribut.txt


    Je suis perdue est-ce que qqu peut m'aider???

    Vous vous avez des idées n'hésitez pas! Merci
    Mélanie

  2. #2
    Rédacteur

    Inscrit en
    septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 626
    Points : 834
    Points
    834
    Par défaut
    Et si tu essaies
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    spool c:\chemin_d_acces\stats_&1.txt
    directement ?


    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    mai 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2002
    Messages : 29
    Points : 20
    Points
    20
    Par défaut
    Je viens de tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SP2-0332: Impossible de créer de fichier de sortie.
    -- Résultat de la requête
    Entrée limitée à 9 caractères
    pas de mise en file d'attente courante
    Merci qd mm
    Mélanie

  4. #4
    Rédacteur

    Inscrit en
    septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 626
    Points : 834
    Points
    834
    Par défaut
    Tu as mis des guillemets ou des quotes autour du nom du fichier, si c'est le cas enlève les.


    Laly
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    mai 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2002
    Messages : 29
    Points : 20
    Points
    20
    Par défaut
    Je mets des cotes. Mais même sans les cotes ca ne marche pas...
    Là je vais tester un script trouvé sur "Metalink", je teste, je teste et je teste! Je te tiens au courant si jamais j'arrive à trouver qqch qui marche
    Mélanie

  6. #6
    Rédacteur

    Inscrit en
    septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 626
    Points : 834
    Points
    834
    Par défaut
    Je sais pas si ca peut t'aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SQL> define attr=TEST_LALY_SPOOL
    SQL> set concat off
    SQL> spool c:\temp\&attr.txt
    SQL> select * from dual;
     
    D
    -
    X
     
    SQL> spool off
    SQL>
    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  7. #7
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    spool c:\chemin_d_acces\stats_&1..txt
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    mai 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2002
    Messages : 29
    Points : 20
    Points
    20
    Par défaut
    Ca devient grave,
    Je viens de faire la même chose que toi, donc impécable, ca marche bien par contre je teste avec ma config, et là a marche plus...
    Va comprendre Charles!
    ...

    Bon je viens de refaire des tests en prenant ton script comme base et j'y vais pas à pas, et en fait le problème viendrait des quotes qu'il ya dans mon WHERE... Je vais continuer à faire qq tests pour trouver une solution!

    Merci
    Mélanie

  9. #9
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    et ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DEFINE p_valeur_attribut = '&1' 
     
    spool c:\chemin_d_acces\stats_&p_valeur_attribut..txt
       select * from ma_table  where mon_attribut= '&p_valeur_attribut'; 
    spool off

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    mai 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2002
    Messages : 29
    Points : 20
    Points
    20
    Par défaut
    Bon sans le spool, mon WHERE marche bien avec les quotes....
    Pufffffffffffffffffffffffffffff Pourtant c'est pas bien compliqué ce que je demande, enfin je pense pas...

    C'est désespérant..... Bon j'y retourne
    Mélanie

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    mai 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2002
    Messages : 29
    Points : 20
    Points
    20
    Par défaut

    et ça :

    Code:
    DEFINE p_valeur_attribut = '&1'

    spool c:\chemin_d_acces\stats_&p_valeur_attribut..txt
    select * from ma_table where mon_attribut= '&p_valeur_attribut';
    spool off
    A marche pas...

    Erreur qui me sort :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SP2-0332: Impossible de créer de fichier de sortie.
    -- Résultat de la requete
    pas de mise en file d'attente courante
    Quant au "spool spool"
    Essaie :
    Code:
    spool spool c:\chemin_d_acces\stats_&1..txt
    A marche pas non plus...
    Erreur qui me sort :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SP2-0333: Nom de fichier de sortie illégal : "spool c:\chemin_d_acces\stats_&1..txt "
    -- Résultat de la requete
    pas de mise en file d'attente courante
    Mélanie

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    mai 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2002
    Messages : 29
    Points : 20
    Points
    20
    Par défaut Résolution!
    En fait le problème vient du fait que je passais en paramètre une valeur qui ressemble à un chemin d'acces (genre "c:\chemin_acces_\fichier.gz") et je pense que les caractères spéciaux genre "\" SQL n'aime pas spécialement!
    En essayant avec un autre attribut plus commun on va dire autrement dit sans caractère spécial, ca marche.

    La solution c'est bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    DEFINE p_valeur_attribut=&1 
    set concat off
    spool c:\chemin_d_acces\&p_valeur_attribut.txt 
       select * from ma_table where mon_attribut = '&p_valeur_attribut'; 
    spool off
    Merci à tous
    Mélanie

  13. #13
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Excuse la faute de frappe , il fallait lire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    spool c:\chemin_d_acces\stats_&1..txt
    J'ai fait le test chez moi, cela fonctionne...
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  14. #14
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2003
    Messages : 6 760
    Points : 11 669
    Points
    11 669
    Par défaut
    Il me semble que l'on peut fixer un caractère escape pour passer ce genre de caractère...
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  15. #15
    CD
    CD est déconnecté
    Membre habitué
    Inscrit en
    septembre 2004
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 127
    Points : 151
    Points
    151
    Par défaut
    en faisant un
    avant, cela permet d'ignorer les caractères \ comme un caractère ESCAPE.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 20/03/2007, 17h55
  2. [SQL-VBA] récupérer le résultat d'une requète SQL dans un fichier txt
    Par djidanestribbal dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 13/02/2007, 15h25
  3. Réponses: 8
    Dernier message: 28/09/2006, 15h56
  4. renvoi du résultat d'une requête dans un fichier
    Par vrossi59 dans le forum Oracle
    Réponses: 3
    Dernier message: 13/02/2006, 17h28
  5. Enregistrer le résultat d'une requête dans un fichier Excel
    Par Isa31 dans le forum Bases de données
    Réponses: 4
    Dernier message: 24/05/2005, 14h31

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