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*Plus Oracle Discussion :

Mettre la date du jour dans le titre d'extraction avec spool


Sujet :

Sql*Plus Oracle

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Par défaut Mettre la date du jour dans le titre d'extraction avec spool
    Bonjour,

    En fait je fais une extraction dans un fichier csv avec spool, et en fait on me demande que le titre du fichier d'extraction soit la date du jour et un champs de la table.
    Donc j'ai l'extraction c'est bon c'est ce qu'ils demande mais mon titre je ne sais pas comment le rendre dynamique et qu'il prend la date du joure à chaque extraction ainsi que le champs de la table demandé.

    le titre devrait etre comme ça
    Spool D:\datedujour-champsdelatabledemandé.csv

  2. #2
    Expert confirmé 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

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Par défaut LA date résolu, mais le champ que je souhaite prendre
    Bonjour,
    Merci pour la date, c'est bon j'extrais le fichier avec la date du jour d'extraction.
    Mais , en fait j'ai regardé& dans ce qu'il donne mais je ne sais comment alimenter le titre avec un champs que je vais prendre d'une table grace à une requète
    Merci.

  4. #4
    Nouveau candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 2
    Par défaut Génerer un pool file à chaque execution de script
    Bonjour, je souhaite faire en sorte qu'à l'éxecution de mon script PL/SQL, un fichier spool soit généré automatiquement, et dont le nom sera simplement une date sous la forme YYYY_MM_DD.
    Exemple : 2008_09_22.txt
    J'ai essayé/adapté pas mal de formulations de script sans succès et j'en viens à me demander si cela ne viendrai pas d'un problème de version Oracle (DEFINE _O_VERSION = "Oracle8i Enterprise Edition Release 8.1.7.4.0 - Production)

    Voici mon script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    COLUMN dcol new_value mydate noprint
    select to_char(sysdate,'YYYY_MM_DD') dcol from dual;
    spool &mydate..txt
    select * from toto
    spool off
    Voici mon erreur systématique:
    Open spool file "C:\<...>\Bureau\????.txt"
    Syntaxe du nom de fichier, de répertoire ou de volume incorrecte.

    Pouvez vous maider SVP, l'erreur est peut-etre simple mais je ne vois d'ou cela proviens.

    Merci

  5. #5
    Invité
    Invité(e)
    Par défaut
    Petite récision, ton script n'est pas PL/SQL mais du Sql.
    Et apparement il est lancé par Sql*Plus.

    Moi je fais comme ça pour définir mon prompt et mon fichier de spool au lancement d'une session SQL*Plus sur mon poste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    define sql_prompt=idle
    column user_sid new_value sql_prompt
    select lower(user) || '_at_' || substr( '&_CONNECT_IDENTIFIER', 0, (case when instr ('&_CONNECT_IDENTIFIER','.') > 0 then instr ('&_CONNECT_IDENTIFIER','.') -1 else 12 end )) user_sid from dual;
     
    set sqlprompt '&sql_prompt> '
     
    column log_file new_value log_file
    select 'C:\Temp\LOG\' || to_char( sysdate , 'YYMMDD_HH24MISS' ) || '_&sql_prompt' || '.log' log_file from dual;
    spool &log_file
    Et bien sûr, il faut que ton répertoire : C:\Temp\LOG\ existe...

  6. #6
    Nouveau candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 2
    Par défaut Suite
    INFO : je lance mes scripts via TOAD.
    Si je regarde ton code, que je prend le strict minimum pour mettre une date sur un nom de fichier spool, cela donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    COLUMN log_file new_value log_file
    SELECT 'C:\' || to_char( sysdate , 'YYMMDD_HH24MISS' ) || '.log' log_file from dual;
    spool &log_file
    Ma racine C:\ existe bien donc normalement pas de soucis pour écrire le fichier.

    Je reçois pourtant l'erreur :
    Open spool file "C:\Documents and Settings\test\Bureau\?????????????????????.LST"
    Syntaxe du nom de fichier, de répertoire ou de volume incorrecte

    Le résultat est <chemin d'execution du script>+????????.LST
    Les ???? sont la date qui n'arrive pas à être formatée
    ------------------------
    Si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    COLUMN log_file new_value log_file
    SELECT to_char( sysdate , 'YYMMDD_HH24MISS' ) log_file from dual;
    spool &log_file..txt
    J'obtiens :
    Open spool file "C:\Documents and Settings\test\Bureau\??????6???????txt.LST"

    Y a-t-il une autre piste sur laquelle investiguer?
    option SET à appliquer?

Discussions similaires

  1. Mettre la date du jour dans l'objet de l'email
    Par iReporter dans le forum Jasper
    Réponses: 1
    Dernier message: 01/08/2012, 10h01
  2. Créer une table avec la date du jour dans le titre
    Par dodo69 dans le forum VBA Access
    Réponses: 3
    Dernier message: 15/04/2011, 14h41
  3. Mettre date du jour dans une table
    Par amely78 dans le forum Access
    Réponses: 4
    Dernier message: 27/12/2010, 11h29
  4. mettre la date du jour dans un nom de fichier
    Par oudin.charles dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 10/06/2009, 16h39
  5. [Dates] Mettre date du jour dans une textbox
    Par Le Rebel dans le forum Langage
    Réponses: 1
    Dernier message: 13/02/2006, 07h27

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