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 :

SQL LOADER


Sujet :

SQL*Loader Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 19
    Points : 10
    Points
    10
    Par défaut SQL LOADER
    Bonjour,

    Je suis un nouvel utilisateur oracle, j’essaye d’enrichir une table à partir d’un fichier plat (mission.dat)



    Ex : VG01,"abcdeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",



    Ma table sous oracle 8i est structurée en 2 colonnes Cle varchar2(4), Libelle varchar2(2000)



    Le fichier .ctl est le suivant



    load data

    infile 'mission.dat'

    insert

    into table schxt.a01_mission append

    fields terminated by ","

    (cle, libelle)

    Je rencontre un rejet

    CLE FIRST * , CHARACTER

    LIBELLE NEXT * , CHARACTER



    Record 1: Rejected - Error on table SCHXT.A01_MISSION, column LIBELLE.

    Field in data file exceeds maximum length



    Table SCHXT.A01_MISSION:

    0 Rows successfully loaded.

    1 Row not loaded due to data errors.

    0 Rows not loaded because all WHEN clauses were failed.

    0 Rows not loaded because all fields were null.



    Si j’insère cet enregistrement avec 261c c’est bon, en revanche au-delà de 255c dans libelle ce n’est plus bon, alors que ma zone réceptrice est déclarée en varchar2(2000).

    Sous sqlplus il n’y a pas de problème pour insérer des enregistrement >255

    J’ai essayé de décrire la zone dans le fichier .ctl sans succès.

    Pourriez-vous m’aider

    Je vous en remercie

  2. #2
    CD
    CD est déconnecté
    Membre habitué
    Inscrit en
    Septembre 2004
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 127
    Points : 151
    Points
    151
    Par défaut
    Bonjour,

    Pour les champs charactères supérieurs à 255 de taille, il faut préciser de manière explicite la taille du champ dans le fichier de controle (voir note 1061271.6 sur Metalink)

    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
    test@BROCANTE> desc a01_mission
     Nom                                       NULL ?   Type
     ----------------------------------------- -------- ----------------------------
     
     CLE                                                VARCHAR2(4)
     LIBELLE                                            VARCHAR2(2000)
     
    test@BROCANTE> host
     
    Microsoft Windows 2000 [Version 5.00.2195]
    (C) Copyright 1985-2000 Microsoft Corp.
     
    C:\AdminBases\sqlload>sqlldr test/test@brocante control=mission.ctl log=mission.log
     
    SQL*Loader: Release 8.1.7.0.0 - Production on Ve Oct 22 11:13:30 2004
     
    (c) Copyright 2000 Oracle Corporation.  All rights reserved.
     
     
    C:\AdminBases\sqlload>type mission.log
     
    SQL*Loader: Release 8.1.7.0.0 - Production on Ve Oct 22 11:13:30 2004
    (...)
    Enregistrement 1 : RejetÚ - Erreur sur table TEST.A01_MISSION, colonne LIBELLE.
    Un champ du fichier de donnÚes dÚpasse la longueur maximale autorisÚe
    J'ai repris ton cas et j'ai reproduis l'erreur.

    Maintenant, si je change le fichier de control :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    load data
    infile 'mission.dat'
    insert
    into table test.a01_mission append
    fields terminated by ","
    (cle, libelle char(2000))
    Je relance le sqlldr :
    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
    C:\AdminBases\sqlload>sqlldr test/test@brocante control=mission.ctl log=mission.
    log
     
    SQL*Loader: Release 8.1.7.0.0 - Production on Ve Oct 22 11:14:10 2004
     
    (c) Copyright 2000 Oracle Corporation.  All rights reserved.
     
    Point de validation (COMMIT) atteint - nombre d'enregis. logiques 1
     
    C:\AdminBases\sqlload>exit
     
    test@BROCANTE> select * from a01_mission;
     
    CLE
    ----
    LIBELLE
    --------------------------------------------------------------------------------
     
    VG01
    "abcdeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
     
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
     
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
     
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
     
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
     
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
     
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    J'ai bien le champs qui est inséré

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    Je te remercie beaucoup

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

Discussions similaires

  1. SQL LOADER
    Par Hathor dans le forum SQL*Loader
    Réponses: 3
    Dernier message: 04/04/2005, 17h42
  2. équivalent SQL*Loader pour FB / IB
    Par djeant dans le forum Outils
    Réponses: 9
    Dernier message: 10/01/2005, 21h26
  3. Chargement de fichier par SQL LOADER
    Par davy.g dans le forum SQL*Loader
    Réponses: 17
    Dernier message: 15/11/2004, 13h08
  4. Réponses: 4
    Dernier message: 10/06/2004, 18h05
  5. erreur sql loader et performance
    Par mobisky dans le forum SQL*Loader
    Réponses: 14
    Dernier message: 20/08/2003, 12h27

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