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

Problème de séquence


Sujet :

SQL*Loader Oracle

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 23
    Par défaut Problème de séquence
    Bonjour,

    avant toute chose, j'ai consulté : http://jaouad.developpez.com/sqlldr/
    et j'ai fait des recherches sur le forum en vain (il y a bien ça qui pourrait correspondre : http://www.developpez.net/forums/d50...er-p-sequence/)

    Donc voici mon problème : comme sur la question déjà posée sur le forum j'ai une table de x colonnes + 1 colonne ID avec un fichier csv de x colonnes à intégrer.

    J'ai donc suivi le tuto de Jaouad. Voici donc mon CTL :
    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
    LOAD DATA
    REPLACE 
    INTO TABLE INS_MES_AIDE1
    FIELDS TERMINATED BY ';' 
    OPTIONALLY ENCLOSED BY '"'
    (ANNEE,
    MESURE,
    GEO_REGION_code,
    GEO_DEPARTEMENT_CODE,
    GEO_COTEF_CODE,
    GEO_SSCOTEF_CODE,
    COM5,
    indicateur,
    REF_GENRE_Code,
    INS_MES_TRAGE_code,
    REF_TRIMESTRE_code,
    EFFT,
    INS_MES_AIDE1_id "MES_AIDE1_seq.nextval"
    )
    Voici mon log :
    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
    .... table INS_MES_AIDE1, chargé à partir de chaque enregistrement physique.
    Option d'insertion en vigueur pour cette table : REPLACE
     
       Nom de colonne               Position   Long.  Séparat. Encadrem. Type de données
    ------------------------------ ---------- ----- ---- ---- ---------------------
    ANNEE                               FIRST     *   ;  O(") CHARACTER            
    MESURE                               NEXT     *   ;  O(") CHARACTER            
    GEO_REGION_CODE                      NEXT     *   ;  O(") CHARACTER            
    GEO_DEPARTEMENT_CODE                 NEXT     *   ;  O(") CHARACTER            
    GEO_COTEF_CODE                       NEXT     *   ;  O(") CHARACTER            
    GEO_SSCOTEF_CODE                     NEXT     *   ;  O(") CHARACTER            
    COM5                                 NEXT     *   ;  O(") CHARACTER            
    INDICATEUR                           NEXT     *   ;  O(") CHARACTER            
    REF_GENRE_CODE                       NEXT     *   ;  O(") CHARACTER            
    INS_MES_TRAGE_CODE                   NEXT     *   ;  O(") CHARACTER            
    REF_TRIMESTRE_CODE                   NEXT     *   ;  O(") CHARACTER            
    EFFT                                 NEXT     *   ;  O(") CHARACTER            
    INS_MES_AIDE1_ID                     NEXT     *   ;  O(") CHARACTER            
        chaîne SQL pour la colonne : "MES_AIDE1_seq.nextval"
     
    Enregistrement 1 : Rejeté - Erreur sur table INS_MES_AIDE1, colonne INS_MES_AIDE1_ID.
    Colonne absente avant fin d'enregis. logique (utiliser TRAILING NULLCOLS) ...
    le csv que je cherche à loader :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "ANNEE";"MESURE";"REG";"DEP";"COTEF";"SOUS_COTEF";"COM5";"Indicateur";"SEXE";"TRAGE";"TRIMESTRE";"EFFT"
    "2004";"ABC";"FE";"SO";"SO";"SO";"SO";"R";"2";"T";"1";"12356"
    Ah oui ... pour info, j'ai bien regardé mais je n'utilise PAS le mode direct (false par défaut) et j'ai un skip=1 ... j'ai aussi essayé de mettre mon ID au début (premiers essais) et non à la fin pour le même résultats....
    ma version est oracle XE (10g)

    Donc Si j'ai bien décodé le log, cela signifie que SQLLDR ne trouve pas dans le CSV la x+1 colonne pour correspondant à ma colonne INS_MES_AIDE_1_id.
    Mais c'est normal ! puisque que je lui dit d'utiliser ma séquence !

    D'après ce que j'ai pu lire je pourrais ajouté un ';' à la fin de chaque ligne pour faire "comme si" j'avais une colonne x+1 vide mais vu le nombre de fichier je ne préfère pas ... et puis je me vois pas modifier les fichiers à chaque fois (MAJ régulières)...

    Je commence depuis peu avec SQLLDR (2 semaines) et là je ne comprends pas, la syntaxe utilisée étant la même que celle du tuto. Où me suis-je planté ?

    Merci d'avance de votre aide,
    Guillaume

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 23
    Par défaut
    Alors premier élement de réponse ...

    j'ai essayé avec Trailing nullcols et là ça fonctionne ....
    Mais pourquoi ?????
    Pourquoui cela ne peut-il pas fonctionner sans trailing nullcols ? Si jamais des colonnes vides, alors qu'elles ne doivent pas l'être elles seront intégrées alors que je veux des rejets pour m'avertir ...

    Je suis perplexe ....

Discussions similaires

  1. [Annotation] Problème incrémentation séquences
    Par Jedy dans le forum Hibernate
    Réponses: 2
    Dernier message: 28/10/2008, 19h26
  2. problème de séquence avec deux base de donnée JPA sous JBoss
    Par eclectik dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 14/09/2008, 18h55
  3. Problème de séquence avec Hibernate annotation
    Par GabriHell dans le forum Hibernate
    Réponses: 1
    Dernier message: 29/07/2008, 17h52
  4. [AJAX] Séquence avec AJAX
    Par lapin_hobbit dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/11/2006, 14h18
  5. problème de séquences
    Par alliance dans le forum Oracle
    Réponses: 14
    Dernier message: 27/10/2005, 11h40

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