#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
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
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
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