-
import csv décimale
Bonjour,
j'ai un DTS package dans lequel j'importe des fichiers csv vers des tables.
J'ai donc une connection pour chaque fichiers csv et une connection pour ma DB.
Lorsque je configure une connection vers un fichier csv, dans le preview, les champs numériques avec décimale sont bien "formatés" (ex:61,02).
Mais après import, je vais voir ma table et la je vois que les champs numériques n'ont pas été prit en compte et je me retrouve avec des nombres du genre 6102 !!!
Quelqu'un a-t-il une solution ??
merci
-
Hello,
alors jette un coup d'oeil sur ton serveur SQL dans COntrol PAnel / Regional options / onglet Numbers , tu as le séparateur de décimal qui est indiqué .. En version US c'est le "." (du moins chez moi..)
Essaye de remplacer ta virgule par "." (peut etre est ce possible directement dans la transformation du DTS? j'avoue que je ne sais pas ..)
ou bien rempalce dans le control panel le "." ou autre par la virgule si jamais elle n'y est pas (gare au digit grouping qui l'utilise...)
Sinon quel est le type de ta colonne? pour des montants par exemple j'utilise du numeric(18, 2) par exemple.. avec "." ca marche bien chez moi..
-
j'ai essyé et ca ne donne rien au niveau des regional settings.
J'utlise du float mais je vais essayé du numéric !
-
Je viens d'essayé et ca ne marche pas, il me dit que je ne peux pas transférer du string dans du numeric !
Les idées sont le bienvenues !
-
Dans le code de transformation des champs dans ton package DTS, fais un replace de la virgule en point.
Code:
MonChamp=Replace(Valeur,",",".")
Tu peux poster le code de ton package pour qu'on puisse regarder.
-
Pour revenir sur ce sujet:
Je doit importer des csv qui ont tantot comme separateur un point tantot une virgule.
Est-il possible de parametre mon DTS de sorte qu'il marche dans les deux cas?