Repregunta sobre Problemas con decimales en carga vía DTS

28/11/2003 - 11:41 por c | Informe spam
Hola,
Ayer preguntaba:
Estoy cargando mediante un DTS datos de archivos de texto
vía Tranform Data Task y estos archivos vienen con
números decimales con COMA (ej: 21,35) pero cuando los
importa el campo que lo almacena me queda 2135 en vez de
21,35. El campo es de tipo float y el usuario de las
conexiones es un usuario SQL Server que estaba en Inglés
pero ahora lo pase a Español, pero sigue cargándome por
ej. 2135 en vez de 21,35.
Que puede ser?


ENTONCES QUERIA QUE ME CONFIRMARAN SI NO HAY OTRA OPCIÓN
QUE SI ME VIENE 21,35 como información en el archivo de
texto para cargarlo como decimal en una tabla de SQL
Server vía DTS mediante un Tranform Data Task tengo que
usar un "ActiveXScript" en la solapa de Transformation
Yo actualmente la transformación la hago en el DTS con el
Transform Data Task pero uso "COPY COLUMN" para pasar
directamente y NO tengo que hacer transformaciones que me
relentizarán la carga...

ME PODRÍAN CONFIRMAR QUE NO QUEDA OTRA OPCIÓN PARA QUE
CARGUE CORRECTAMENTE LOS NÚMEROS DECIMALES!

Si esto es así que código tendría que poner entonces para
hacer esta transformación?


Más datos
* Ya se que usar el PUNTO sería mucho más bueno que la
COMA en los números decimales que vienen en los archivos
de texto, y también siempre lo use así, por eso NUNCA
antes me había pasado esto pero es lo que tengo (y esto
si que NO se puede cambiar)
* El fichero de texto viene con TABS como separadores.
* El usuario de SQL Server lo probé en Inglés y en
Español.
* En el Panel de Control tengo la COMA como separador de
decimales y el PUNTO como separador de miles... (o sea
correcto)
* Si tengo que cambiar algo del Panel de control en el
servidor lo cambio pues se utiliza sólo para esto.
* El dato viene como 21,35 NO como 21.35 y me lo carga
como 2135
* Los campos a los que pasa del archivo de texto a la
tabla respectiva son de tipo Float (ya se que los Numeric
serían más adecuados pero se hizo así porque cabía la
posibilidad de que pasara la información a un cubo de SQL
OLAP. (Si fuera NECESARIO lo cambiaría!!)
* Para probar Reemplace las , por . en los archivos de
Texto y funcionó perfectamente!!! Es decir si estaba
21.35 me cargaba este número correctamente
 

Leer las respuestas

#1 Accotto Maximiliano D.
28/11/2003 - 13:25 | Informe spam
holas!! otra vez nos vemos!!

bueno no lo probe esto y te lo comente ayer!! vos cuando haces el DTS podes
usar Vbscript sabias?
Si lo usas ves los dts destino y origen!! en los de destino habria q ver si
este vbscipt soporta la funcion Replace de VB, esta funcion lo q hace es
reemplazar una cosa por otra, ej el punto por la coma

bien!! ahora vos el campo lo tenes como float verdad?
esto no lo podes cambiar a decimal por ej?

un saludo como siempre


Maximiliano Damian Accotto
"c" escribió en el mensaje
news:8ae701c3b59c$3f6a90e0$
Hola,
Ayer preguntaba:
Estoy cargando mediante un DTS datos de archivos de texto
vía Tranform Data Task y estos archivos vienen con
números decimales con COMA (ej: 21,35) pero cuando los
importa el campo que lo almacena me queda 2135 en vez de
21,35. El campo es de tipo float y el usuario de las
conexiones es un usuario SQL Server que estaba en Inglés
pero ahora lo pase a Español, pero sigue cargándome por
ej. 2135 en vez de 21,35.
Que puede ser?


ENTONCES QUERIA QUE ME CONFIRMARAN SI NO HAY OTRA OPCIÓN
QUE SI ME VIENE 21,35 como información en el archivo de
texto para cargarlo como decimal en una tabla de SQL
Server vía DTS mediante un Tranform Data Task tengo que
usar un "ActiveXScript" en la solapa de Transformation
Yo actualmente la transformación la hago en el DTS con el
Transform Data Task pero uso "COPY COLUMN" para pasar
directamente y NO tengo que hacer transformaciones que me
relentizarán la carga...

ME PODRÍAN CONFIRMAR QUE NO QUEDA OTRA OPCIÓN PARA QUE
CARGUE CORRECTAMENTE LOS NÚMEROS DECIMALES!

Si esto es así que código tendría que poner entonces para
hacer esta transformación?


Más datos
* Ya se que usar el PUNTO sería mucho más bueno que la
COMA en los números decimales que vienen en los archivos
de texto, y también siempre lo use así, por eso NUNCA
antes me había pasado esto pero es lo que tengo (y esto
si que NO se puede cambiar)
* El fichero de texto viene con TABS como separadores.
* El usuario de SQL Server lo probé en Inglés y en
Español.
* En el Panel de Control tengo la COMA como separador de
decimales y el PUNTO como separador de miles... (o sea
correcto)
* Si tengo que cambiar algo del Panel de control en el
servidor lo cambio pues se utiliza sólo para esto.
* El dato viene como 21,35 NO como 21.35 y me lo carga
como 2135
* Los campos a los que pasa del archivo de texto a la
tabla respectiva son de tipo Float (ya se que los Numeric
serían más adecuados pero se hizo así porque cabía la
posibilidad de que pasara la información a un cubo de SQL
OLAP. (Si fuera NECESARIO lo cambiaría!!)
* Para probar Reemplace las , por . en los archivos de
Texto y funcionó perfectamente!!! Es decir si estaba
21.35 me cargaba este número correctamente

Preguntas similares