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

PostgreSQL Discussion :

Erreur Copy "extra data after last expected column"


Sujet :

PostgreSQL

  1. #1
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 149
    Points : 89
    Points
    89
    Par défaut Erreur Copy "extra data after last expected column"
    Lorsque j'importe mes fichiers csv, j'ai parfois l'erreur :

    "extra data after last expected column"

    Il se trouve que ces données proviennent d'une application qui semble avoir quelques bugs, notamment celui de rajouter un caractère inutile dans le dernier champ de mon csv sur une ligne au hasard. Or cette donnée ne me sert à rien et sachant que je ne traite pas mon fichier avant l'import, je souhaiterai pouvoir désactiver ce warning, et importer les fichiers même si les colonnes de la fin sont remplies.
    Cela est il possible ?

  2. #2
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Si c'est sur une ligne au hasard (et non sur toutes les lignes) c'est difficile :
    - soit tu fait un traitement (awk ou autre) sur ton fichier pour supprimer le caractère inutile
    - soit tu peux regarder du côté de pgloader qui permet apparemment de faire un COPY amélioré en rejetant les lignes en erreur pendant le chargement
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  3. #3
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 149
    Points : 89
    Points
    89
    Par défaut
    Merci pour les pistes.
    Mon serveur est sous windows, Pgloader fonctionne t'il sur cette plateforme ? Une idée pour l'installation? Je n'ai vraiment rien trouvé.

  4. #4
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 149
    Points : 89
    Points
    89
    Par défaut
    C'est pire que je pensais, pour certaines colonnes j'ai également

    data not found for column ...

    Il faut vraiment que je trouve un truc.

  5. #5
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Pour pgloader je n'ai pas plus d'infos
    Sinon la meilleure solution reste quand-même d'avoir un fichier correct à charger, ça évite de devoir traiter les lignes comportant trop de champs ou pas assez ...
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  6. #6
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 149
    Points : 89
    Points
    89
    Par défaut
    J'aimerai bien mais c'est impossible. Les données sortent d'un applicatif géré au niveau national et je ne peux pas y toucher.

    Et puis même si le fichier est correct, on est jamais à l'abri d'une erreur.
    Je vais regarder du coté de awk. Dommage que la documentation sur pgloader (surtout installation) soit si difficile à trouver.

  7. #7
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Effectivement dans ce cas il faudrait faire un awk pour supprimer de ton fichier les lignes n'ayant pas le bon nombre de champs ...
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  8. #8
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 149
    Points : 89
    Points
    89
    Par défaut
    Ok je fais ça et je posterai le code ici.

  9. #9
    Membre actif
    Inscrit en
    Février 2005
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 167
    Points : 203
    Points
    203
    Par défaut
    Citation Envoyé par bilou972 Voir le message
    Lorsque j'importe mes fichiers csv, j'ai parfois l'erreur :

    "extra data after last expected column"
    J'importe des données en utilisant TAB comme délimiteur... et certaines données contenaient des tabs. J'ai simplement remplacé ça par "\\t" et ça passe.

    Il faut sans doute backslasher tes virgules ou point-virgules...

    -N

Discussions similaires

  1. Erreur "Result set after last row"
    Par otmaneo01 dans le forum JDBC
    Réponses: 1
    Dernier message: 27/03/2015, 14h49
  2. Erreur Data too long For column
    Par fabrice.77 dans le forum Débuter
    Réponses: 12
    Dernier message: 12/02/2007, 09h19
  3. erreur dans la connection data environement
    Par halhali07 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 30/06/2006, 18h55
  4. [SQL] Erreur grand débutant echo / $data
    Par carelha dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/05/2006, 12h01
  5. [JDBC] [Oracle] Erreur : End of TNS data channel
    Par loicmillion dans le forum JDBC
    Réponses: 2
    Dernier message: 01/02/2005, 14h27

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