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 :

[ORACLE 9i] Tables externes


Sujet :

Oracle

  1. #1
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut [ORACLE 9i] Tables externes
    Bonjour, je souhaite créé une table externe sur le fichier suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    N°1;N°2;N°3;lib3;lib4;lib5;lib6;lib7
    310500;0;;0CKVZC;;;;
    317574;0;;084R1C;;;;
    439774;0;;03HADH;;;;
    501925;0;12478061;0KQZKF;;;;
    503021;0;14856317;391TKE;;;;
    503278;0;12035455;1L4TYH;;;;
    503334;0;12516406;0KY4FE;;;;
    503558;0;12432258;0KAHDG;;;;
    504626;0;12416875;01S7RK;;;;
    etc....
    code de la creation de la table :

    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
     
    create table te_act_refbanq
       (
          NUM_1        NUMBER(6)         ,
          NUM_2         NUMBER(2)         ,
          NUM_3        NUMBER(15)        ,
          lib3 VARCHAR2(6)       ,
          lib4    VARCHAR2(34)      ,
          lib5    VARCHAR2(34)      ,
          lib6     VARCHAR2(34)      ,
          lib7     VARCHAR2(34)      
       )
    organization external
       (type oracle_loader
        default directory data_dir
        access parameters 
          ( records delimited by newline
            badfile bad_dir : 'te_act_refbanq.bad'
            logfile log_dir : 'te_act_refbanq.log'
            fields terminated by ';'
            missing field values are null
            (
             NUM_1 ,
          NUM_2    ,
          NUM_3    ,
          lib3 ,
          lib4 ,
          lib5 ,
          lib6 ,
          lib7     
            )
           )
        location('export.csv')
       );
    Cependant, j'ai l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    KUP-04021: erreur de formatage du champ lib7     
    KUP-04023: le début du champ se trouve après la fin de l'enregistrement
    KUP-04101: enregistrement 1 rejeté dans le fichier /oracle.....
    Donc j'ai ajouté des ";" à la fin de chaque ligne et tout va bien.
    Seulement je suis aussi obligé de supprimer l'entête.

    kk1 sait comment :

    : faire un skip entête afin de "sauter" la première ligne du fichier (N°1;N°2;N°3;lib3;lib4;lib5;lib6;lib7)
    : ne pas être dans l'obligation de mettre un ";" en fin de ligne afin que les données soient chargée ?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    tu peux ajouter ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LOAD WHEN (NUM_1 != 'N°1')
    pour info : http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96652/ch12.htm#SUTIL012

  3. #3
    Expert confirmé
    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
    Par défaut
    ou également SKIP cité dans cette même url.

  4. #4
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut
    merci à orafrance et SheikYerbouti les deux manières fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SKIP
    LOAD WHEN (NUM_1 != 'N°1')
    J'ai préféré skip car elle permet de ne pas avoir le label du premier champs en dur.

    Sinon pour les ;, je sais pas apres plusieurs manipulation dans le fichier de donnée, celui fonctionne bien.

    merci à tous

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/10/2011, 16h44
  2. erreurs Oracle sur table externe
    Par Djene dans le forum Oracle
    Réponses: 3
    Dernier message: 10/10/2011, 16h29
  3. Réponses: 3
    Dernier message: 10/10/2007, 13h29
  4. [Oracle 9i] - tables externes
    Par haugoyard dans le forum Oracle
    Réponses: 1
    Dernier message: 02/10/2006, 17h09
  5. [ORACLE 9i] tables externes et Skip column
    Par sygale dans le forum SQL
    Réponses: 7
    Dernier message: 17/11/2004, 05h13

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