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

  1. #1
    Membre du Club
    Exporter le contenu d'une requête au format Excel vers un dossier spécifié
    Bonjour, voici une requête qui tente d'exporter des données au format Excel vers un dossier spécifié :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    spool "O:\GT\07 - Commun CRETS (GT0017)\SERVICE_INFORMATIQUE\export.xls"
     
    select gcachat_det.ach_date_creat,gcachat_det.ach_art_code,gcarticle.art_lib1,gcachat_det.ach_pds_net_rec,gcachat_det.ach_quantite_rec,gcachat_det.ach_user_creat
    from gcachat_ent,gcachat_det,gcarticle
    where gcachat_det.ach_date_creat >=TRUNC(sysdate-1) and gcachat_det.ach_date_creat <=TRUNC(sysdate) and gcarticle.art_lib1 like '%CONG.%'
    and gcachat_ent.ach_numseq = gcachat_det.ach_numseq and gcarticle.art_code = gcachat_det.ach_art_code
    order by gcarticle.art_lib1;
     
    spool off


    Le fichier Excel se crée bien au bon endroit mais je n'obtient pas les données souhaitez. Je ne vois que le texte de ma requête :



    Quelqu'un peut-il me dire d'ou vient cette erreur ?
    Merci beaucoup

  2. #2
    Membre expérimenté
    C'est marqué dans ton fichier excel, ton SELECT ne renvoie rien.
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  3. #3
    Membre du Club
    Bonjour et merci pour cette réponse. Effectivement en modifiant ma requête j'obtient des données. mais le format de sortie n'est pas bon. Voyez plutot le ficher Excel joint
    Merci pour votre aide

  4. #4
    Membre du Club
    J'ai trouvé la solution pour obtenir mes données en colonnes séparées : j'utilise chr(9) entre chaque champs de ma clause Select.
    Mais j'ai toujours le texte de ma requête qui s'affiche sur les 1ere lignes du classeur excel

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    set feedback off
    set echo off
    set heading off
     
     
     
    spool O:\GT\07 - Commun CRETS (GT0017)\SERVICE_INFORMATIQUE\export.xls
     
    select gcachat_det.ach_date_creat ||chr(9)|| gcachat_det.ach_art_code ||chr(9)|| gcarticle.art_lib1 ||chr(9)|| gcachat_det.ach_pds_net_rec ||chr(9)|| gcachat_det.ach_quantite_rec ||chr(9)|| gcachat_det.ach_user_creat
    from gcachat_ent,gcachat_det,gcarticle
    where gcachat_det.ach_date_creat >=TRUNC(sysdate-3) and gcachat_det.ach_date_creat <=TRUNC(sysdate) and gcarticle.art_lib1 like '%CONG.%'
    and gcachat_ent.ach_numseq = gcachat_det.ach_numseq and gcarticle.art_code = gcachat_det.ach_art_code
    order by gcarticle.art_lib1;
     
    spool off

  5. #5
    Rédacteur

    Certaines commandes comme SET ECHO OFF n'ont aucun effet si elles sont tapées ou copiées/collées directement dans sql*plus.

    Il faut mettre toutes vos commandes dans un fichier (par exemple extraction.sql), et exécuter ce fichier par la commande @.

    Exemple :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    sqlplus X/Y@ma_base @d:\scripts\extraction.sql
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

###raw>template_hook.ano_emploi###