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

GEODATA DAYS 2024

#1 Wed 16 November 2011 17:24

nat43
Participant actif
Date d'inscription: 13 Mar 2008
Messages: 94

[FME & ORACLE] - Séparateur de nombre

Bonjour à Tous,

J'ai deux bases de données Oracle. Je veux basculer une table d'une base à l'autre.
Avec FME, pas de soucis ... excepté pour les données de type NUMBER avec décimales. Dans la table de destination, au lieu de me mettre la valeur, il me met un "0".
Je m'en sors avec un StringReplacer pour remplacer la virgule par le point, mais je souhaiterais savoir si on peut se dédouaner d'utiliser ce transformer.

Sur quoi FME s'appuie pour gérer les nombres décimaux ?! Les paramètres régionaux du poste client, du serveur ?! Une clé de registre ?!

D'avance merci pour vos réponses.

NT

Hors ligne

 

#2 Fri 18 November 2011 01:16

scrum.gis
Participant occasionnel
Date d'inscription: 15 Nov 2011
Messages: 15
Site web

Re: [FME & ORACLE] - Séparateur de nombre

Est ce que tu peux changer le type de colonne de destination ?
Et voir dans le writer de destination pour forcer la colonne en décimale.


Votez à l'adresse suivante FME ETL Spatial: http://area51.stackexchange.com/proposa … patial-etl

Hors ligne

 

#3 Fri 18 November 2011 15:17

nat43
Participant actif
Date d'inscription: 13 Mar 2008
Messages: 94

Re: [FME & ORACLE] - Séparateur de nombre

Bonjour Scrum,

Mon champ de destination est du même format que mon champ source dans Oracle, soit du NUMBER(20,2).
Je ne comprends pas très bien ce que tu entends par "forcer la colonne en décimale dans le writer" ...

Merci,

NT

Hors ligne

 

#4 Fri 18 November 2011 15:40

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Re: [FME & ORACLE] - Séparateur de nombre

Aloha nat,
Je dirais les paramètres de la base, mais je n'en suis pas sûr.
J'ai aussi eu à utiliser des stringreplacer pour certains champs lors d'écriture dans Oracle. Et j'avoue n'avoir jamais chercher à franchir l'obstacle.
Je suis sûr que tu as une bonne raison d'utiliser FME (et par voie de conséquence de nous faire réfléchir à ta question), mais un bon moyen de communiquer entre 2 bases oracles, c'est le dblink...


art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

#5 Sun 20 November 2011 03:47

scrum.gis
Participant occasionnel
Date d'inscription: 15 Nov 2011
Messages: 15
Site web

Re: [FME & ORACLE] - Séparateur de nombre

Pourquoi ne pas mettre le type en FLOAT dans la table de destination?


Votez à l'adresse suivante FME ETL Spatial: http://area51.stackexchange.com/proposa … patial-etl

Hors ligne

 

#6 Mon 21 November 2011 09:30

nat43
Participant actif
Date d'inscription: 13 Mar 2008
Messages: 94

Re: [FME & ORACLE] - Séparateur de nombre

Bonjour Pierre,

Je ne peux pas créer de DBlink entre les deux bases pour raison de sécurité, et nous n'avons pas prévu de mettre cette solution en place. Il y a un moyen de contournement avec les StringReplacer, mais j'aurai aimé savoir d'où venait le problème ... je suis curieuse !!!!

Pas de FLOAT dans la base Oracle, que du NUMBER.

Merci,

N@th

Hors ligne

 

#7 Mon 21 November 2011 10:07

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Re: [FME & ORACLE] - Séparateur de nombre

Dommage pour vous, à quoi cela peut-il servir d'avoir du Oracle en ce cas  hmm
deux, trois, hypothèses, non testées de ma part :
- vérifier les paramètres régionaux de la BdD Oracle
- voir si l'on ne pourrait pas modifier la structure de l'insert dans le writer oracle afin de le forcer à passer par un TO_NUMBER(...) dans le cas de NUMBER
- abandonnez le writer Oracle et en fait écrire un script oracle, exécuté par la suite (ou en direct par FME) ?


art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

#8 Mon 21 November 2011 10:53

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

Re: [FME & ORACLE] - Séparateur de nombre

Bonjour,

Avez vous jeté un œil aux paramètres régionaux du poste.

J'ai deja eu ce genre de problème , pas avec FME mais sur un développement PHP et lorsque nous avons passé le serveur sous windows, le séparateur de décimal a changé dans le résultat de la requête sql (executé par PHP). Par manque de temps, j'ai pas creusé (et remplacé les , par un .) mais je pense que ça doit se jouer au niveua des paramètres régionaux.


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

Hors ligne

 

Pied de page des forums

Powered by FluxBB