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 : erreur de données


Sujet :

SQL*Loader Oracle

  1. #1
    Débutant
    Inscrit en
    Avril 2005
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 469
    Points : 106
    Points
    106
    Par défaut SQL LOADER : erreur de données
    je veux charger une table ici article_document à partir d'un fichier de donnée d'extension .DAT que j'ai obtenu par un UNLOAD de la table par Sybase.Et quand je prépare tout et lance la commande sqlldr :

    il me signale les erreurs suivantes :

    Table ARTICLE_DOCUMENT, chargé à partir de chaque enregistrement physique.
    Option d'insertion en vigueur pour cette table : INSERT

    Nom de colonne Position Long. Séparat. Encadrem. Type de données
    ------------------------------ ---------- ----- ---- ---- ---------------------
    ADOC_INDEX FIRST * , CHARACTER
    ADOC_NAME NEXT * , CHARACTER
    ADOC_PATH NEXT * , CHARACTER
    ADOC_DOCUMENT NEXT * , CHARACTER
    ADOC_COMMENT NEXT * , CHARACTER
    ADOC_ARTICLEID NEXT * , CHARACTER
    ADOC_ARTICLENAME NEXT * , CHARACTER

    Enregistrement 1 : Rejeté - Erreur sur table ARTICLE_DOCUMENT, colonne ADOC_DOCUMENT.
    Un champ du fichier de données dépasse la longueur maximale autorisée
    Enregistrement 2 : Rejeté - Erreur sur table ARTICLE_DOCUMENT, colonne ADOC_DOCUMENT.
    Un champ du fichier de données dépasse la longueur maximale autorisée

    Table ARTICLE_DOCUMENT :
    Chargement réussi de 0 Lignes.
    2 Lignes chargement impossible dû à des erreurs de données.
    0 Lignes chargement impossible car échec de toutes les clauses WHEN.
    0 Lignes chargement impossible car tous les champs étaient non renseignés.


    Vous-vous m'aider un peu.

  2. #2
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    ben apparemment ta colonne ADOC_DOCUMENT est trop petite ...

    peut etre faut il que tu ALTER la table en lui mettant une taille plus grande?

  3. #3
    Débutant
    Inscrit en
    Avril 2005
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 469
    Points : 106
    Points
    106
    Par défaut sql loader :erreur chargement de données
    Mais la colonne est de type BLOB et elle doit acceuillir le contenu d'un fichier Word.Et je ne vois comment choisir un type plus grand que BLOB pour ce ces genres de données.

  4. #4
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Peux-tu nous indiquer :
    - ta version d'oracle (tu aurais dû le faire dès le début)
    - le desc de ta table
    - ton fichier de contrôle

  5. #5
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Pour plus d'informations sur le chargement de colonnes BLOB avec SQL*Loader :
    http://download-uk.oracle.com/docs/c...g.htm#i1006803

  6. #6
    Débutant
    Inscrit en
    Avril 2005
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 469
    Points : 106
    Points
    106
    Par défaut sql loader :erreur chargement de données
    voici le desc de la table Oraclequi doit acceuillir les données :
    SQL> desc article_document
    Nom NULL ? Type
    ----------------------------------------- -------- ---------------------
    ADOC_INDEX NOT NULL NUMBER(6)
    ADOC_NAME NOT NULL VARCHAR2(50)
    ADOC_PATH VARCHAR2(250)
    ADOC_DOCUMENT BLOB
    ADOC_COMMENT VARCHAR2(100)
    ADOC_ARTICLEID NOT NULL NUMBER(38)
    ADOC_ARTICLENAME NOT NULL VARCHAR2(50)

    Je suis sur Oracle 8i.
    et le fichier de contrôle :

    LOAD DATA
    INFILE 'C:\Syscost\load\338.DAT'
    into table article_document
    FIELDS TERMINATED by ','
    (adoc_index ,
    adoc_name ,
    adoc_path ,
    adoc_document ,
    adoc_comment ,
    adoc_articleid ,
    adoc_articlename )

  7. #7
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    je ne sais pas si ça fait avancer le schmilblick mais bon, moi les fichiers ctl je les fait avec le stypes de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    LOAD DATA
    INFILE 'C:\Syscost\load\338.DAT'
    into table article_document
    FIELDS TERMINATED by ','
    (adoc_index decimal external,
    adoc_name char(50),
    adoc_path char(250),
    adoc_document blob,
    adoc_comment char(100),
    adoc_articleid integer external,
    adoc_articlename char(50))
    par exemple. En meme temps je ne sais pas si blob passe ...

    ouias, je crois que j'aurais dû me taire ...

  8. #8
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Il y a un truc que je ne comprends pas. Ton fichier word est inclus dans ton fichier data ?
    => peux-tu nous donner ton fichier data, STP ?

  9. #9
    Débutant
    Inscrit en
    Avril 2005
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 469
    Points : 106
    Points
    106
    Par défaut sql loader :erreur chargement de données
    Merci pour ton aide.
    mais là il me signale encore :
    Erreur de syntaxe à la ligne 5,
    ")" attendu, "," trouvé
    adoc_index decimal external(6,1).


    Apparemment c'est le decimal(6,1) qui le géne

  10. #10
    Débutant
    Inscrit en
    Avril 2005
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 469
    Points : 106
    Points
    106
    Par défaut sql loader :erreur chargement de données
    voici le fichier data en piéces jointes.
    Donc là vous remarquerez facilement le champ adoc_document qui est le contenu du fichier avec des suites de 0123b10.

    Et je pense que c'est ça qui fait que ça n'arrive pas à se contenir dans le champ de type blob.
    En effet, le fichier est de poni DAT, je l'ai eu par un UNLOAD des données de la table correspondante qui était sous Syabse.

  11. #11
    j6m
    j6m est déconnecté
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 87
    Points : 84
    Points
    84
    Par défaut oui c'est mieux quand c'est typé
    SQL*Loader can load data from a "primary data file", SDF (Secondary Data file - for loading nested tables and VARRAYs) or LOBFILE. The LOBFILE method provides an easy way to load documents, images and audio clips into BLOB and CLOB columns. Look at this example:

    Given the following table:

    CREATE TABLE image_table (
    image_id NUMBER(5),
    file_name VARCHAR2(30),
    image_data BLOB);

    Control File:

    LOAD DATA
    INFILE *
    INTO TABLE image_table
    REPLACE
    FIELDS TERMINATED BY ','
    (
    image_id INTEGER(5),
    file_name CHAR(30),
    image_data LOBFILE (file_name) TERMINATED BY EOF
    )
    BEGINDATA
    001,image1.gif
    002,image2.jpg

Discussions similaires

  1. SQL Loader : erreur de chargement de données
    Par Jefdebruges dans le forum SQL*Loader
    Réponses: 6
    Dernier message: 22/06/2007, 11h23
  2. SQL*Loader : filtrer les données chargées
    Par gattaca dans le forum Oracle
    Réponses: 2
    Dernier message: 13/07/2006, 09h51
  3. SQL LOADER : Coversion de données
    Par madina dans le forum SQL*Loader
    Réponses: 3
    Dernier message: 14/06/2006, 11h49
  4. SQL LOADER: Erreur
    Par claralavraie dans le forum SQL*Loader
    Réponses: 19
    Dernier message: 11/01/2006, 10h26
  5. [Sql*Loader] Erreur ORA-00054
    Par Spyco dans le forum Oracle
    Réponses: 4
    Dernier message: 23/12/2005, 16h43

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