#1 Fri 10 September 2010 11:56
- xav
- Participant assidu
- Date d'inscription: 27 Oct 2005
- Messages: 280
Jointure avec une table postgres/postgis
Bonjour,
je souhaite ajouter dans mon projet un transformer joiner vers une table postgres/postgis.
Je ne rencontre pas de problème lors de la configuration du joiner par contre lorsque je lance traitement, j'obtiens l'erreur suivante :
2010-09-10 11:44:29| 0.6| 0.0|ERROR |Error executing SQL query ('SELECT "id" FROM ""."ma_table" WHERE FALSE LIMIT 0'): 'ERREUR: identifiant délimité de longueur nulle sur ou près de « "" » at character 24
l'erreur vient des "" juste avant le nom de la table, elles devraient contenir le nom du schéma dans lequel se trouve la table (public dans mon cas) mais je ne trouve aucun endroit ou renseigner le nom du schéma dans la configuration du joiner.
Quelqu'un a une idée sur l'origine de ce problème ?
ma version du workbench est la 20100117 Build 6202
Merci d'avance
Xavier Lang
Information géographique et observatoire - DSI Communautaire
Cap Atlantique
Hors ligne
#2 Fri 10 September 2010 16:39
Re: Jointure avec une table postgres/postgis
Je viens de reproduire, il y a bien un problème avec Joiner sur Postgresql et Postgis dans FME 2010.
Ce problème n'existait pas sur FME 2009.
Je fais remonter à Safe...
Contournement : il faut utiliser SqlExecutor.
Hors ligne
#3 Tue 21 September 2010 13:08
Re: Jointure avec une table postgres/postgis
En fait le problème du JOINER avec Postgresql et Postgis n'apparait que si la variable "search_path" est vide ou ne contient que le schéma public.
Il vous faut donc modifier cette variable pour ajouter vos schémas :
ALTER ROLE olivier SET search_path=monschema1, monschema2, public;
Hors ligne
#4 Tue 21 September 2010 14:22
- Sarah - VEREMES
- Participant actif
- Date d'inscription: 21 Apr 2009
- Messages: 51
Re: Jointure avec une table postgres/postgis
Pour compléter la réponse d'Olivier, je rajouterai, pour que ça fonctionne il faut plus d'une variable dans le search_path.
Exemple :
search_path = monschema => erreur
search_path = monschema, public => ok
Pour contourner le problème, en attendant, vous pouvez manuellement rajouter le nom du schéma devant le nom de la table via le Navigateur dans les paramètres du Joiner.
Le problème a été corrigé dans la 2011.
Dernière modification par Sarah - VEREMES (Tue 21 September 2010 15:17)
Sarah MOURE
Veremes : support FME & version française
Hors ligne
#5 Mon 27 September 2010 11:52
- xav
- Participant assidu
- Date d'inscription: 27 Oct 2005
- Messages: 280
Re: Jointure avec une table postgres/postgis
MErci de vos reponses,
je rentre tout juste de vacances, je teste ça dans la semaine
Xavier Lang
Information géographique et observatoire - DSI Communautaire
Cap Atlantique
Hors ligne
#6 Thu 22 October 2015 16:01
- PascalF
- Participant occasionnel
- Date d'inscription: 26 Dec 2013
- Messages: 13
Re: Jointure avec une table postgres/postgis
Bonjour j'ai le même problème que xav,
J'ai utilisé un fichier .bat pour effectuer l'import de l'ensemble de mes couches sur Postgres. Voilà ce que j'ai écris :
shp2pgsql -I -s 2154 -W ISO-8859-1 C:\Users\pascal.filippi\Documents\Travail_Conversion_Import_Pgsql\N_ENJEU_PPRN_L_024.shp public.N_ENJEU_PPRN_L_024 | psql -d ppr-aquitaine -U postgres -W postgres
shp2pgsql -I -s 2154 -W ISO-8859-1 C:\Users\pascal.filippi\Documents\Travail_Conversion_Import_Pgsql\N_ENJEU_PPRN_P_024.shp public.N_ENJEU_PPRN_P_024 | psql -d ppr-aquitaine -U postgres -W postgres
shp2pgsql -I -s 2154 -W ISO-8859-1 C:\Users\pascal.filippi\Documents\Travail_Conversion_Import_Pgsql\N_ENJEU_PPRN_S_024.shp public.N_ENJEU_PPRN_S_024 | psql -d ppr-aquitaine -U postgres -W postgres
shp2pgsql -I -s 2154 -W ISO-8859-1 C:\Users\pascal.filippi\Documents\Travail_Conversion_Import_Pgsql\N_PERIMETRE_PPRN_S_024.shp public.N_PERIMETRE_PPRN_S_024 | psql -d ppr-aquitaine -U postgres -W postgres
shp2pgsql -I -s 2154 -W ISO-8859-1 C:\Users\pascal.filippi\Documents\Travail_Conversion_Import_Pgsql\N_ZONE_ALEA_PPRN_S_024.shp public. | psql -d ppr-aquitaine -U postgres -W postgres
shp2pgsql -I -s 2154 -W ISO-8859-1 C:\Users\pascal.filippi\Documents\Travail_Conversion_Import_Pgsql\N_ZONE_REG_PPRN_L_024.shp public. | psql -d ppr-aquitaine -U postgres -W postgres
shp2pgsql -I -s 2154 -W ISO-8859-1 C:\Users\pascal.filippi\Documents\Travail_Conversion_Import_Pgsql\N_ZONE_REG_PPRN_S_024.shp public. | psql -d ppr-aquitaine -U postgres -W postgres
J'utilise donc le module shp2pgsql et psql à travers mon fichier .bat.
Avec ce fichier j'arrive à importer les 4 première couches ENJEU et PERIMETRE mais pas le reste. la commande DOS m'affiche alors :
ERREUR: identifiant délimité de longueur nulle sur ou près de « "" »
LIGNE 1 : CREATE INDEX "_geom_gist" ON "public"."" USING GIST ("geom")...
Avez vous une idée de comment je peux régler ce problème ?
Sur Open ClassRoom j'ai trouvé cet article : https://openclassrooms.com/forum/sujet/ … gdeg-93050
Seulement je ne voie pas comment intégrer cette colonne DÉFAUT dans mon code?
Je vous remercie beaucoup
Hors ligne
#7 Thu 22 October 2015 16:41
- Pim
- Participant actif
- Lieu: Plesder
- Date d'inscription: 2 Aug 2007
- Messages: 59
Re: Jointure avec une table postgres/postgis
Bonjour,
Sur tes trois dernier, je pense qu'il te manque une partie (voir en gras)
shp2pgsql -I -s 2154 -W ISO-8859-1 C:\Users\pascal.filippi\Documents\Travail_Conversion_Import_Pgsql\N_ZONE_ALEA_PPRN_S_024.shp public.N_ZONE_ALEA_PPRN_S_024 | psql -d ppr-aquitaine -U postgres -W postgres
shp2pgsql -I -s 2154 -W ISO-8859-1 C:\Users\pascal.filippi\Documents\Travail_Conversion_Import_Pgsql\N_ZONE_REG_PPRN_L_024.shp public.N_ZONE_REG_PPRN_L_024 | psql -d ppr-aquitaine -U postgres -W postgres
shp2pgsql -I -s 2154 -W ISO-8859-1 C:\Users\pascal.filippi\Documents\Travail_Conversion_Import_Pgsql\N_ZONE_REG_PPRN_S_024.shp public.N_ZONE_REG_PPRN_S_024 | psql -d ppr-aquitaine -U postgres -W postgres
p
Mais j'en suis pas sur ...
Pim
Hors ligne