banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 18 April 2012 13:54

xav
Participant assidu
Date d'inscription: 27 Oct 2005
Messages: 280

jointure Postgres

Bonjour,

j'ai un traitement une table graphique sous PostGis en entrée sur laquelle je souhaiterais effectuer une jointure avec une table attributaire Postgres. La jointure se fait sur un champs texte (des noms de voie).

Lorsque le traitement tombe sur un enregistrement contenant des caractères accentués, le traitement s’arrête avec l'erreur suivante :

Code:

Error executing SQL query ('EXECUTE dbjoin_query_plan ('44069','R DU CHÂTEAU - CAREIL')'): 'ERREUR:  séquence d'octets invalide pour l'encodage « UTF8 » : 0xc254
HINT:  Cette erreur peut aussi survenir si la séquence d'octets ne correspond pas
au jeu de caractères attendu par le serveur, le jeu étant contrôlé par
« client_encoding ».

Ma base est en UTF8 et les données des 2 tables ont été remontés avec FME.

Par contre si je fais un export excel de mes données et que je fais la jointure sur ce fichier, je n'ai pas de problème.

Quelqu'un aurait-il une idée sur la cause du problème ?

Merci d'avance


Xavier Lang
Information géographique et observatoire - DSI Communautaire
Cap Atlantique

Hors ligne

 

#2 Thu 19 April 2012 00:10

ogayte
Participant assidu
Lieu: Saint-Estève
Date d'inscription: 6 Mar 2006
Messages: 658
Site web

Re: jointure Postgres

C'est un bug que nous avons fait remonté : joiner ne marche pas avec les caractères non standards (ou alors il ne faut rien mettre en cache : prefetch the SQL Query)

Contournement : FeatureMErger ou  SQLExecutor
Chaque méthode a ses inconvénients et avantages.
JOINER va être cassé et revu en FME 2013, j'espère que le problème sera corrigé car il est vraiment pénible...


Olivier Gayte
http://www.veremes.com
+33 (0)4-68-38-65-27

Hors ligne

 

#3 Thu 19 April 2012 09:04

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1025
Site web

Re: jointure Postgres

Je confirme, obligé de passer par une requête SQL


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#4 Thu 19 April 2012 14:10

ogayte
Participant assidu
Lieu: Saint-Estève
Date d'inscription: 6 Mar 2006
Messages: 658
Site web

Re: jointure Postgres

Pourtant ça devrait marcher si vous n'utilisez pas le cache.


Olivier Gayte
http://www.veremes.com
+33 (0)4-68-38-65-27

Hors ligne

 

#5 Mon 23 April 2012 09:47

xav
Participant assidu
Date d'inscription: 27 Oct 2005
Messages: 280

Re: jointure Postgres

Bonjour,

pour ne pas utiliser le cache, il faut laisser la case Utiliser la pré-requête décochée ? ou il faut modifier la valeur de la taille du cache ?

Merci d'avance


Xavier Lang
Information géographique et observatoire - DSI Communautaire
Cap Atlantique

Hors ligne

 

#6 Mon 23 April 2012 10:08

ogayte
Participant assidu
Lieu: Saint-Estève
Date d'inscription: 6 Mar 2006
Messages: 658
Site web

Re: jointure Postgres

Il faut décocher (de mémoire...).


Olivier Gayte
http://www.veremes.com
+33 (0)4-68-38-65-27

Hors ligne

 

#7 Mon 23 April 2012 15:55

xav
Participant assidu
Date d'inscription: 27 Oct 2005
Messages: 280

Re: jointure Postgres

Après quelques tests, j'ai réussi à trouver comment contourner le problème.

Pour désactiver le cache, il faut mettre la taille du cache à 0 en plus de ne pas cocher la case et là ça fonctionne correctement.

A noter que le bug se produit quand la donnée source comporte des caractères spéciaux par contre ça ne pose pas de problème qu'il y ai des caractère spéciaux dans la table utilisée pour la jointure.


Xavier Lang
Information géographique et observatoire - DSI Communautaire
Cap Atlantique

Hors ligne

 

Pied de page des forums

Powered by FluxBB