Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!
Free Trial

Forum

Trouvez des réponses, posez des questions, et partagez votre expertise d’Alteryx.
TIPS de la semaine

Chaque semaine, découvrez de nouvelles astuces et bonnes pratiques pour devenir un expert !

Voir l'index
RÉSOLU

Pb insert dans Oracle avec FixedDecimal

PatPli
Astéroïde

Bonjour,

 

Lorsque je veux insérer une valeur avec ou sans décimale mais eu format FixedDecimal, je me retrouve avec un message Nombre non valide.

 

J'ai fait quelque chose de très simple au niveau de mon workflow : 

- Une entrée dictionnaire qui contient une colonne TEST avec la valeur 12

- Une formule qui ajoute un champ TEST2 égal à TEST au format FixedDecimal Précision19 Echelle 6

- Une sortie de donnée qui pointe sur une table dans ma base Oracle. Cette table est créée par Alteryx (option "Ecraser la table (supprimer)") 

 

PatPli_0-1658910221732.png

Si l'étape de la formule est supprimée (juste dictionnaire pointant vers la table cible), aucun soucis. J'ai remplacé la valeur 12 en entrée par 12.5 et pareil aucun soucis car Alteryx met la colonne TEST dans la base cible en BINARY_DOUBLE. Mais dès que j'utilise un FixedDecimal (étape de la formule), je me retrouve avec l'erreur :

Sortie de données (2) DataWrap2ODBC::SendBatch : [Oracle][ODBC][Ora]ORA-01722: Nombre non valide¶ Insert into TEST_ALTERYX(TEST,TEST2) Values (?,?)

 

J'ai installé le driver officiel d'Alteryx pour Oracle (SIMBA) ainsi qu'un autre (message ci-dessus) et j'ai toujours la même erreur. Erreur avec drive SIMBA : 

Sortie de données (2) DataWrap2ODBC::SendBatch : [Simba][OracleOCI] (3000) Oracle Caller Interface: ORA-01722: Nombre non valide¶ Insert into TEST_ALTERYX(TEST,TEST2) Values (?,?)

 

J'ai testé sur une base Oracle Expresse Edition installée en local (version 21c) et une vieille base (version 10) et même problème.

 

Auriez-vous d'autres idées ? 

Par exemple, comment faire pour connaitre exactement ce qui est envoyé dans le SQL d'insert ? Car que ce soit dans Alteryx ou dans les log, on a des ? à la place des valeurs .

 

Merci d'avance pour votre aide.

1 RÉPONSE 1
PatPli
Astéroïde

J'ai fini par trouver, le problème était lié au NLS_LANG dans la base de registre. Celui-ci contenait : FRENCH_FRANCE.WE8MSWIN1252. Je l'ai remplacé par AMERICAN_AMERICA.WE8MSWIN1252 et désormais ça fonctionne.

Étiquettes