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 :

Fonction COPY : erreur 22P04, données manquantes [9.1]


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut Fonction COPY : erreur 22P04, données manquantes
    Bonjour,

    Je débute... j'ai 1 an de recul sur la géomatique (BDD + SIG dans le domaine de l'environnement) mais que quelques jours sur postgre!
    Je travaille sur une base existante dans laquelle je veux mettre de nouvelles données issues d'un csv :
    Je crée ma table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    CREATE TABLE essai
    (
    champ1text,
    champ2 text,
    champ3 text,
    champ4 text, 
    champ5 text
    )
    ;
    set client_encoding = 'Latin1';
    Copy essai
    from 'D\[monchemin]\FI_oiseau.txt'
    with delimiter E'\t'
    null ''
    Pour infos : le champ 1 est toujours renseigné, les champs 2, 3, 4, 5 le sont parfois, parfois pas. Dans le txt un champ non renseigné est vide. Je pensais que Postgre allait ne rien mettre dedans au moment de l'import.
    Dans la première donnée du txt, alors que le champ1 et 2 sont renseignés, le champ 3 ne l'est pas, le 4 non plus, j'ai un message d'erreur :

    ERREUR: données manquantes pour la colonne «champ4 »
    CONTEXT: COPY essai, ligne 1 : «.....»

    ********** Erreur **********


    État SQL :22P04
    Pourquoi s'attaquer au champ4 alors que le 3 est vide aussi? J'ai essayé d'ajouter un "defaul 'NR'"; sans résultat satisfaisant.

    Je ne pense pas que ce soit trop grand chose de grave... mais n'ai aucune idée de comment agir?... Merci pour l'aide que vous pourrez m'apporter !
    bonne journée
    A.

  2. #2
    Membre émérite Avatar de Arkhena
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 552
    Par défaut
    Bonjour,

    Pouvez-vous donner un échantillon de votre fichier csv s'il vous plaît ?

    Cordialement,

    Arkhena

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut
    Bonjour
    ok, du coup, je vous joins un .zip :
    un fichier txt avec quelques lignes (observations naturalistes) : à intégrer dans table "essai"
    le rq.sql.essai2.sql, requête modifiée(pas de moi à l'origine)--> celle sur laquelle je bosse en guise d'essai
    et ORIGINE.sql, requête complète d'origine (avec suppression de l'ancienne table et un certain nombre de lignes en haut et en bas (dont je ne connais pas trop la signification, si ce n'est qu'il y a la suppression de l'ancienne table, l'ajout à la bdd nommée bd38, l'ajout des colonnes de géométrie...)

    Bref, peut être qu'avec au moins le txt et le rq.sql. essai2.sql vous arriverez à trouver où je cloche. Merci beaucoup par avance!
    A.
    Fichiers attachés Fichiers attachés

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 491
    Par défaut
    bonjour,
    le fichier texte est mal construit par exemple
    ligne 1 colonne 8 ( à priori l’espèce) on a bien l’espèce mais pour les autres lignes elles sont vides , l’Espèce se trouve en colonne 9 qui est une colonne de type integer
    il faudrait voir comment est généré ce fichier pour y apporter des corrections

  5. #5
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut
    oh oui, pardon, dans la manip, j'ai dû généré une erreur, voici un nouveau txt, corrigé depuis libreoffice.
    Merci !
    A.
    Fichiers attachés Fichiers attachés

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    Un champ vide se matérialise par la présence du seul séparateur (ici une tabulation) pour passer au champ suivant.

    Quand il n'y a aucun séparateur et qu'on n'est pas au tout dernier champ prévu par le format de la table, c'est une erreur. Je crois que c'est ce qui se passe ici.

    Il faudrait que la procédure de génération du fichier de données aille jusqu'au bout de toutes les colonnes, qu'il y ait du contenu ou pas dans les dernières colonnes.

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

Discussions similaires

  1. [Toutes versions] Fonctions base de données manquantes (BDMEDIANE, BDMODE, BDCENTILE, etc.)
    Par tosole dans le forum Contribuez
    Réponses: 0
    Dernier message: 08/10/2012, 18h10
  2. Copie base de données - Erreur d'exécution
    Par lynal dans le forum Administration
    Réponses: 16
    Dernier message: 13/02/2012, 11h22
  3. Erreur de la fonction Copy, dans la bibliotheque ipp
    Par MPEG4 dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 24/07/2009, 18h23
  4. Fonction Copy() - Message d'Erreur permission Denied
    Par clementh dans le forum Langage
    Réponses: 4
    Dernier message: 01/05/2009, 18h25
  5. Erreur: Fonction Copy
    Par bchass dans le forum Langage
    Réponses: 4
    Dernier message: 11/03/2007, 17h19

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