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

Import/Export Oracle Discussion :

[table externe]Problème de chargement


Sujet :

Import/Export Oracle

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 128
    Points : 67
    Points
    67
    Par défaut [table externe]Problème de chargement
    Bonjour,
    je rencontre un problème lors d'un select dans une table externe :


    ORA-29913: erreur d'exécution de l'appel ODCIEXTTABLEFETCH
    ORA-01722: Nombre non valide
    ORA-06512: à "SYS.ORACLE_LOADER", ligne 52
    ORA-06512: à ligne 1
    En isolant les champs selectionnés, j'ai remarquer que cela venait d'un TO_NUMBER.

    Mon problème c'est que ce select fait partie d'un traitement validé depuis longtemps, ce sont les données sources qui cause l'erreur hors, je ne sais trop comment isoler la ligne f***euse...
    Sachant que mon fichier texte(la table externe) contient environ 2,5millions de lignes.

    Quelqu'un aurait il une technique à me soumettre ?

  2. #2
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    En 10G, essayez de copier la table externe dans une table interne de la base avec une instruction INSERT ... SELECT avec une clause DML error logging.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 128
    Points : 67
    Points
    67
    Par défaut
    merci pour la réactivité

    j'ai parcontre un petit souci de syntax

    INSERT INTO PROD_DATA_TEST
    SELECT
    PROD_REF,
    PROD_REFCOM,
    PROD_LIBELLE,
    PROD_FABR_LIDIC,
    PROD_FRNS_LIDIC,
    TO_NUMBER(PROD_PBF) AS PROD_PBF,
    TO_NUMBER(PROD_PBT1) AS PROD_PBT1,
    TO_NUMBER(PROD_PBT2) AS PROD_PBT2,
    PROD_GAVE,
    PROD_MACH2,
    PROD_ICF1,
    PROD_ICF2,
    PROD_PERIME,
    PROD_CREAT
    FROM SRC_PROD
    LOG ERRORS INTO ERR$_PROD_DATA_TEST ('LOG_PROD_DATA') REJECT LIMIT 25;
    ORA-00933: la commande SQL ne se termine pas correctement
    On travail pourtant bien avec une 10G.
    Je continu a essayé de lui faire avalé cette commande mais si une faute te saute aux yeux hésite pas

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 128
    Points : 67
    Points
    67
    Par défaut
    je crois que j'ai trouvé :

    je suis en 10.1 et il semble que le DML Error Logging n'est disponible que depuis la Release 2

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 128
    Points : 67
    Points
    67
    Par défaut
    c'est bon, je me suis débrouillé avec ça :

    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
    declare
    	cursor cc is
    	  SELECT PROD_REF, PROD_PBF FROM SRC_PROD;
     
    	iTest INTEGER;
    begin
    	for cur in cc loop
    		begin
    			iTest := TO_NUMBER(cur.PROD_PBF);
     
    		exception when others then
    			insert into PROD_DATA_TEST (PROD_REF, PROD_PBF)
    			values (cur.PROD_REF,cur.PROD_PBF);
    		end;
    	end loop;
    end;
    /
    pour conclure le problème venait d'un séparateur de décimale (un point au lieu d'une virgule sur certaine lignes)

    Merci pour ton aide pifor je tâcherais de me souvenir du "LOG ERRORS"

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

Discussions similaires

  1. Problème de chargement table externe.
    Par Jonathan.Harvey dans le forum SQL
    Réponses: 3
    Dernier message: 21/04/2009, 16h15
  2. Problème pour lire les donnée d'une table externe
    Par mardoch dans le forum SQL*Loader
    Réponses: 6
    Dernier message: 17/07/2008, 16h41
  3. Problème loadmovie - chargement d'un swf externe
    Par Cosyweb dans le forum Flash
    Réponses: 1
    Dernier message: 15/01/2008, 01h05
  4. Problème chargement dans table externe
    Par finesse20 dans le forum SQL
    Réponses: 1
    Dernier message: 07/08/2007, 10h10
  5. Réponses: 1
    Dernier message: 08/03/2006, 16h57

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