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 :

Création d'un fichier Excel via un select


Sujet :

Oracle

  1. #1
    Membre éclairé
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Février 2014
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 319
    Par défaut Création d'un fichier Excel via un select
    Bonjour,

    J'ai un script pour extraire des données en revanche j'aimerai adapter mon script pour envoyer vers excel.

    Est ce que vous pourriez m'orienter dans la synthaxe ?

    il s'avere que j'ai en plus le code erreur ora-1489 result of string concatenation is too long

    Merci pour votre aide

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    whenever SQLERROR exit SQL.SQLCODE
     
    conn user/"mdp"@bdc
     
    alter session set nls_date_format = 'DD/MM/YYYY HH24:MI:SS';
     
    set colsep ';'
    set echo off
    set heading off
    set feedback off
    set pages 0
    set line 96000
    set long 96000
    set sqlprompt ''
     
     
    spool  G:\Extract\SDESK\SLM\DEMANDES_CLOSES_XXXXXX.csv
     
    prompt  NUMBERPRGN;SA_ASSET_TAG;SA_JOURNAL_UPDATES;STATUS;DESCRIPTION;SA_CAL_ADMIN;SA_CAL_DISPO;ASSIGNED_DEPT;PHASE_START_DATE;RDERED_DATE;UPDATE_DATE;SA_TARGET_COMPLETION_ORIG;TARGET_COMPLETION;PART_NO;PART_DESC;SA_OPEN_GROUP;SA_UPDATE_GROUP;NORMAL_LEAD_TIME;TARGET_LEAD_TIME;PHASE_START_DATE;CLOSE_DATE;SA_DUREE_SUSP;ACTUAL_DATE;SA_BASE_FACTM_EXPLOITE_PAR;SA_BASE_PLATEAU_SERVEUR;LAST_NAME FIRST_NAME
     
    SELECT 
      T1.NUMBERPRGN||';'||
      T1.SA_ASSET_TAG||';'||
      REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(T1.DESCRIPTION,chr(10),'-'),chr(13),'-'),chr(9),'-'),',',' '),';',' ')||';'||
      REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(T1.SA_JOURNAL_UPDATES,chr(10),'-'),chr(13),'-'),chr(9),'-'),',',' '),';',' ')||';'||
      T1.STATUS||';'||
      T1.SA_CAL_ADMIN||';'||
      T1.SA_CAL_DISPO||';'||
      T1.ASSIGNED_DEPT||';'||
      ' '||' '||
      T1.PHASE_START_DATE||';'||
       ' '||' '||
      T1.ORDERED_DATE||';'||
      ' '||' '||
      T1.UPDATE_DATE||';'||
      ' '||' '||
      T1.SA_TARGET_COMPLETION_ORIG||';'||
      ' '||' '||
      T1.TARGET_COMPLETION||';'||
      T1.PART_NO||';'||
      REPLACE(T1.PART_DESC,',',' ')||';'||
      T1.SA_OPEN_GROUP||';'||
      T1.SA_UPDATE_GROUP||';'||
      ' '||' '|| 
      T1.NORMAL_LEAD_TIME||';'||
      ' '||' '||
      T1.TARGET_LEAD_TIME||';'||
      ' '||' '||
      T1.PHASE_START_DATE||';'||
      ' '||' '||
      T1.CLOSE_DATE||';'||
      T1.SA_DUREE_SUSP||';'||
      ' '||' '||
      T1.ACTUAL_DATE||';'||
      T3.SA_BASE_FACTM_EXPLOITE_PAR||';'||
      T3.SA_BASE_PLATEAU_SERVEUR||';'||
      T2.LAST_NAME||' '||
      T2.FIRST_NAME  LIGNE
    FROM 
     DEMANDES T1
     LEFT OUTER JOIN CONTACT T2 ON T1.ASSIGNED_TO = T2.CONTACT_NAME
     LEFT OUTER JOIN DEVICE T3 ON T1.SA_ASSET_TAG = T3.NETWORK_NAME
    WHERE
      T1.CLOSE_DATE >='01/01/2015' and T1.CLOSE_DATE < '01/07/2015' and (T1.STATUS ='closed' or T1.STATUS ='cancelled') and T1.ASSIGNED_DEPT like '%SERVEUR%';
     
     
    spool off

  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
    Par défaut
    Cherchez sur Google il y a pas mal d'exemple déjà faite.

  3. #3
    Membre éclairé
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Février 2014
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 319
    Par défaut
    Bonjour,


    J'en trouve pas

  4. #4
    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

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 203
    Billets dans le blog
    1
    Par défaut
    C'est très facile si tu utilises l'outil PL/SQL Developer. Il suffit de faire ton select au complet, faire un fetch pour ramener tous les enregistrements et exporter les résultats dans un fichier csv. IL y a une icone pour Export results.

  6. #6
    Membre confirmé
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    112
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 112
    Par défaut Bonjour,
    Bonjour,

    j’espère que ça peut aider

    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
    16
    17
     
     
    SET colsep ";" -- votre separateur niveau colonne
    SET trimspool ON
    SET heading off
    SET echo off
    SET feedback off
    SET pagesize 0
    spool  mon_ficher.csv
    select 'username;account_status;profile;default_tablespace' from dual; --- Ajouter ici les colonnes  à afficher sur votre csv
      select 
        username||';'||
        account_status||';'||
        profile||';'||
        default_tablespace||';' 
        from dba_users ;
    spool off -- votre fichier sera généré

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

Discussions similaires

  1. [AC-2010] Création de fichier excel via Access
    Par Akiro76 dans le forum VBA Access
    Réponses: 5
    Dernier message: 18/06/2014, 13h58
  2. création d'un fichier excel avec ADO
    Par sony351 dans le forum C++Builder
    Réponses: 1
    Dernier message: 28/02/2007, 15h54
  3. fermer fichier excel via OLE
    Par richard038 dans le forum Delphi
    Réponses: 2
    Dernier message: 27/09/2006, 17h26
  4. [POI] Création d'un fichier excel
    Par Shixz dans le forum Documents
    Réponses: 1
    Dernier message: 12/07/2006, 11h45
  5. Script d'envoie d'un fichier excel via un formulaire
    Par Morphine.Nw dans le forum ASP
    Réponses: 4
    Dernier message: 26/01/2006, 13h08

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