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

#1 Re : PgAdmin3 » Problème d'importation de fichier .txt dans Pg » 12/04/2013 14:57:52

gleu a écrit :

Faites la requête suivante :

SELECT '>'||numid||'<' FROM test;

Cela vous permettra de savoir si vous avez un caractère invisible avant ou après le mot.

Ce code ne donne rien malheureusement, par contre en faisant

select substr(NumID from 1 for 1) from test

j'ai une sorte de point ou de petit tiret (-) qui apparait à la première ligne seulement tandis que les autres lignes affichent le premier caractère imprimable de ma table test. Je pourrais faire un update mais cela ne résoud pas vraiment le problème.

meles a écrit :

Bonsoir,
  j'ai déjà eu ce genre de chose. Pb d'encodage du fichier par rapport à pg il me semble.

UTF8 avec BOM, ou un truc dans ce genre.

C'est par la que je commencerai à chercher en tous cas.

Cordialement

La base de données postgres utilise l'encodage UTF8. Si le fichier à importé n'a pas le même encodage, PG ne l'importe pas. A moins que j'ai mal compris ta suggestion, je ne suis pas sûr que le problème vienne de là.

Ce problème est pour le moins assez dérangeant car si les données ne peuvent être enregistrées avec fiabilité, je doute de l'efficacité des requêtes que je pourrais faire ensuite. Je suis fort tenté de retourner sur MySQL (pour si peu pourtant). Je reste ouvert pour toute autre solution à ce problème.

Merci à tous de votre sollicitude.

#2 Re : PgAdmin3 » Problème d'importation de fichier .txt dans Pg » 09/04/2013 09:14:55

Bonjour,

désolé du retard de réponse. Mais j'ai dû faire une pause sur ce projet. En effet, il y a un caractère qui s'incruste avant le mot lorsque j'importe les données dans la table. J'ai fait plusieurs essais avec divers fichiers texte, mais le résultat demeure le même. J'ignore la cause et de ce fait, je ne vois pas comment résoudre ce problème. Merci d'avance.

#3 PgAdmin3 » Problème d'importation de fichier .txt dans Pg » 22/03/2013 10:55:24

patrik
Réponses : 8

Bonjour,

Je suis débute dans le développement sur PgSQL mais je suis familier au développment sur MySQL. Lorsque j'importe des données sur fichier .txt (et même .csv) dans mes tables, je constate que, systématiquement, une caractère non imprimable est inséré au début de la première ligne. Ce qui a pour conséquence de fausser mes requêtes lorque celles-ci s'appliquent à cette ligne.

le code d'importation est le suivant:

COPY test from 'C:/test.txt' DELIMITER ';'

Les données sont les suivantes (telles qu'elles apparaissent sur le fichier test.txt):

20003;DUPONT                        ;BERNARD         ;FRAIS       ;364880
20004;MARCEL                        ;ROY                 ;FRAIS       ;319612
20005;RIVIERE                       ;MARTIN            ;FRAIS       ;407335

L'importation se passe bien, mais si j'éxecute le code suivant:

LENGTH(NumID),NumID FROM test;

j'obtiens:

6 20003
5 20004
5 20005

La structure de la table est la suivante:

CREATE TABLE test
(
  numid character varying(10) NOT NULL,
  name character varying(35) NOT NULL,
  surname character varying(35),
  item character varying(35) NOT NULL,
  amount character varying(12)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE test
  OWNER TO postgres;

Je souhaiterais corriger cette erreur. Vos lumières sont les bienvenues.

Merci!

Pied de page des forums

Propulsé par FluxBB