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

Administration PostgreSQL Discussion :

Message d'erreur pendant importation de Excel


Sujet :

Administration PostgreSQL

  1. #1
    Membre du Club
    Homme Profil pro
    dba
    Inscrit en
    Décembre 2016
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : dba
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2016
    Messages : 119
    Points : 58
    Points
    58
    Par défaut Message d'erreur pendant importation de Excel
    bonjour a tous

    je débute en postgres

    je tente d'importer des données en fichiers text ou csv dans Postgres

    Ci joint le syntaxe du table Effectifs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CREATE TABLE public."Effectifs"
    (
      id integer NOT NULL DEFAULT nextval('"Effectifs_id_seq"'::regclass),
      matricule character varying(30)[],
      ufs character varying(20)[],
      nom character varying(30)[],
      CONSTRAINT "pk_Effectifs" PRIMARY KEY (id)
    )
    WITH (
      OIDS=FALSE
    );
    ALTER TABLE public."Effectifs"
      OWNER TO postgres;
    au moment ou je lance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COPY Effectifs FROM 'd:\Effectifs.xls' delimiter ';'
    je vient d'avoir ce message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ERREUR:  la relation « effectifs » n'existe pas
    ********** Erreur **********
     
    ERREUR: la relation « effectifs » n'existe pas
    État SQL :42P01
    Qui a une a quoi du ce message d'erreur

    merci a tous
    Images attachées Images attachées  

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 476
    Points : 831
    Points
    831
    Par défaut
    il faut mettre des guillemets autour de Effectifs sinon postgres met tout en minuscule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COPY "Effectifs" FROM 'd:/Effectifs.xls' with  delimiter ';'

  3. #3
    Membre du Club
    Homme Profil pro
    dba
    Inscrit en
    Décembre 2016
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : dba
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2016
    Messages : 119
    Points : 58
    Points
    58
    Par défaut
    merci xavier-Pierre pour votre réponse

    maintenant j'ai une deuxième erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ERREUR:  séquence d'octets invalide pour l'encodage « UTF8 » : 0xd0 0xcf
    CONTEXT:  COPY Effectifs, ligne 1
    ********** Erreur **********
     
    ERREUR: séquence d'octets invalide pour l'encodage « UTF8 » : 0xd0 0xcf
    État SQL :22021
    Contexte : COPY Effectifs, ligne 1
    Comment puis-je faire?Est ce que je doit changer le codage de l' ensemble de ma base de données (si oui, comment?) Ou je doit changer juste le codage de ma table? Ou je doit modifier le codage du mon fichier?
    Images attachées Images attachées  

  4. #4
    Membre éclairé 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
    Points : 769
    Points
    769
    Par défaut
    Bonjour,

    Vous pouvez choisir l'une des solutions suivantes:
    1. Modifier l'encodage de de votre fichier pour qu'il soit en UTF-8
    2. Modifier l'encodage de votre base/schéma et/ou table pour matcher celui de votre fichier
    3. Ajouter une clause d'encodage dans votre commande COPY

    Vous trouverez la documentation de la commande COPY ici: https://www.postgresql.org/docs/9.6/.../sql-copy.html

    J'attire également votre attention sur le fait qu'il me semble que COPY ne gère pas les fichiers .xls, mais les fichiers csv...

    Cordialement,

    Arkhena
    A bove ante, ab asino retro, a stulto undique caveto

  5. #5
    Membre du Club
    Homme Profil pro
    dba
    Inscrit en
    Décembre 2016
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : dba
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2016
    Messages : 119
    Points : 58
    Points
    58
    Par défaut
    bonjour

    je viens d'avoir un nouveau message d'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ERREUR:  tableau litéral mal formé : « ********»
    DETAIL:  La valeur du tableau doit commencer avec « { » ou avec l'information de la
    dimension.
    CONTEXT:  COPY Effectifs, ligne 1, colonne nom : «******* »
    ********** Erreur **********
    Images attachées Images attachées  

  6. #6
    Membre éclairé 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
    Points : 769
    Points
    769
    Par défaut
    Quel délimiteur utilisez-vous dans votre fichier Excel ?
    Comme indiqué dans la documentation, le délimiteur pris en compte par défaut est la virgule. Si ce n'est pas votre cas, il faut le spécifier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WITH DELIMITER 'delimiter_character'
    A bove ante, ab asino retro, a stulto undique caveto

Discussions similaires

  1. Message d'erreur sur importation Excel
    Par abdelkarim_1987 dans le forum Macros Access
    Réponses: 7
    Dernier message: 03/07/2013, 10h36
  2. Messages d'erreur pendant la création d'un fichier texte
    Par FrançoiseB dans le forum Delphi
    Réponses: 5
    Dernier message: 25/07/2007, 17h11
  3. [ASE][T-SQL]Message d'erreur pendant INSERT
    Par Benjamin78 dans le forum Sybase
    Réponses: 3
    Dernier message: 23/03/2006, 11h38
  4. [SQL Server 2000] erreur lors importation fichier excel
    Par Abydos Business Group dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/03/2006, 10h24
  5. Message d'attente pendant pilotage Ole Excel
    Par yottatiger dans le forum C++Builder
    Réponses: 3
    Dernier message: 13/09/2005, 10h14

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