PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 Re : Général » COPY From : format delimiteur » 06/02/2012 13:09:57

map

@dverite:
déjà tenté: une definition du caractere de separation par la manip ALT+code affiche le message d'erreur
"ERREUR:  le délimiteur COPY doit être sur un seul caractère sur un octet" (et ceci pour 161 ou 173)

@Marc Cousin
dans les deux autres cas, soit pg me repond
"ERREUR:  séquence d'octets invalide pour l'encodage « UTF8 » : 0xad" ou
"ERREUR:  le délimiteur COPY doit être sur un seul caractère sur un octet"

si j'essaie de creuser en codant le separateur en utf8 j'obtiens soit du "sequence d'octets invalide", soit un rappel que le séparateur doit être codé sur un caractère :-(

dommage.  Comme je n'ai aucun levier sur le choix du separateur, je suis donc obligé de faire le pré-traitement du csv.

merci quand meme pour votre aide.
cdt

#2 Général » COPY From : format delimiteur » 03/02/2012 17:23:11

map
Réponses : 6

Bonjour

Je souhaite faire un import depuis un fichier CSV généré en latin1 depuis une plateforme Unix, avec un séparateur exotique: le point d'exclamation renversé (ATL 173).
Je travaille sur win XP SP2 avec Postgre win 9.1.
Actuellement je suis "obligé" de faire une substitution avec un sed gnuwin pour remplacer ce separateur par qqchose de plus manipulable et l'import se passe bien.
Est-il possible de parametrer la commande copy pour utiliser ce separateur directement ?
Je tente:
COPY ... CSV DELIMITER E'\xAD' ENCODING 'LATIN1' HEADER ;
COPY ... CSV DELIMITER '\xAD' ENCODING 'LATIN1' HEADER ;
COPY ... CSV DELIMITER 'ALT+173' ENCODING 'LATIN1' HEADER ;
mais aucun ne marche...

merci d'avance
newbie qui n'a pas trouvé dans le forum ni la doc

Pied de page des forums

Propulsé par FluxBB