Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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é ?

#1 Mon 27 March 2017 15:32

Ben22
Participant actif
Lieu: 33
Date d'inscription: 11 May 2016
Messages: 96

[FME 2016] Insertion d'objets avec valeur par défaut dans Postgresql

Bonjour,

J'ai un petit soucis dans l'insertion d'objets dans une table postgres contenant une clé primaire basée sur une séquence par défaut.

Je souhaiterai insérer mes objets dans ma table, et générer automatiquement la clé via la séquence par defaut dans postgres. (la clé n'existe pas dans mes données sources)

Quand j'insère mes données, Postgres n'est pas content, pour lui FME essaye d'insérer une valeur "null" dans une clé primaire ce qui le contrarie fortement et je le conçoit tout à fait .

J'ai essayé de configuré le champ dans FME en int8 puis en serial mais aucune différence, impossible de déclencher la séquence par défaut.

Pour le moment, je bricole en faisait passer mes objets dans un SqlExecutor avec une instruction NEXTVAL sur la séquence par défaut mais cela ralentit l'écriture.

Auriez-vous une solution plus simple pour activer la valeur par défaut de postgres ou y aurait-il une configuration spécifique à réaliser sur la table / le champ ?

Merci d'avance pour vos éclaircissements.

Benjamin

Hors ligne

 

#2 Mon 27 March 2017 16:10

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

Re: [FME 2016] Insertion d'objets avec valeur par défaut dans Postgresql

hello,

Il faut l'autoriser si tu as fme en Anglais dans le writer => parameter => dernière liste déroulante => Allow serial column writing=> mettre à YES

Dernière modification par heretik25 (Mon 27 March 2017 16:10)


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

Hors ligne

 

#3 Mon 27 March 2017 17:34

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

Re: [FME 2016] Insertion d'objets avec valeur par défaut dans Postgresql

Sur le sujet je conseille de regarder :
https://georezo.net/forum/viewtopic.php?id=80361

A ma connaissance la situation n'a pas évolué à ce jour.


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

Hors ligne

 

#4 Tue 28 March 2017 08:59

Ben22
Participant actif
Lieu: 33
Date d'inscription: 11 May 2016
Messages: 96

Re: [FME 2016] Insertion d'objets avec valeur par défaut dans Postgresql

Bonjour,

Le paramètre 'Allow serial column writing' n'a malheureusement pas solutionné le problème.

Il s'agit effectivement de la même situation que celle du topic ci-dessus, nous souhaitons rester en integer car notre séquence par défaut est partagée par toutes les tables du schéma.

Je vais donc rester avec mon SqlExecutor en attendant une future mise à jour de FME.


Merci pour vos retours.

Dernière modification par Ben22 (Tue 28 March 2017 09:02)

Hors ligne

 

#5 Tue 28 March 2017 11:15

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

Re: [FME 2016] Insertion d'objets avec valeur par défaut dans Postgresql

Bonjour,
pour que FME reconnaisse ta sequence postgres, il faut qu'elle soit nommée comme il faut : <nom_table>_<nom_pk>_seq
Si c'est le cas, tu n'as rien à faire, ta séquence doit être utilisée.

Le paramètre  'Allow serial column writing' est à mettre à oui si tu ne veux pas utiliser ta séquence mais affecter les valeurs de ta clé par toi même (intéressant dans le cas ou l'on recharge une table et l'on doit conserver les valeurs des clés). Mais attention dans ce cas, il faut bien gérer l’uncité des des valeurs et penser à mettre à jour la séquence en fonction de la valeur max des clés rentrées.

Xavier


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

Hors ligne

 

Pied de page des forums

Powered by FluxBB