Problemas con decimales en carga vía DTS???

27/11/2003 - 14:06 por c | Informe spam
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 (esto NO lo puedo
cambiar) 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?

Preguntas similare

Leer las respuestas

#6 Accotto Maximiliano D.
27/11/2003 - 18:14 | Informe spam
probemos una cosa!!

cambia en el origen todas las comas por punto!!

y setia en tu panel de control el sistema americano

. para decimal
, separador de miles

el texto, porque lo tenes delimitado?



Maximiliano Damian Accotto
"c" escribió en el mensaje
news:05f101c3b507$f6506bd0$
* El dato viene como 21,35

* El original es un ficheros de texto y en la de destino
es de tipo Float (Esto NO lo puedo cambiar)

* Si voy a la conexión de texto en el DTS y voy al botón
properties veo los datos bien!!! Ej: 21,35 ó 432,16 ó
235,34.
Pero luego en la tabla de la Base de datos lo veo como:
2135 ó 43216 ó 23534.

Gracias por cualquier ayuda que me puedan dar!

el dato como biene: 21,35 o 21.35?

en q tipo de datos tenes en la columna original y en la


de destino?

Si haces la vista previa como lo ves?

Maximiliano Damian Accotto
"c" escribió en el


mensaje
news:001701c3b501$7d347350$
A ver, preferiría NO hacer transformaciones...
Si tengo que cambiar algo del Panel de control en el
servidor lo cambio pues se utiliza sólo para esto.
Me olvide de decirles que en el Panel de Control tengo la
COMA como separador de decimales y el punto como
separador de miles...
Con lo cual NO se porque me lo toma 2135 en vez de 21,35
Me podrían decir que puede ser????
No importaría tocar el Panel de Control u otra cosa pero
quisiera evitar el hacer transformaciones sobre el
archivo de texto de origen...
Gracias!


yo no haría eso,Ten encuenta que puedes afectar a otras


aplicaciones, la
configuración regional yo no la tocaría. Sin embargo en


tu dts puedes
aplicar una transformación que cambie la coma por punto


antes de procesar la
tarea.

Saludos
Miguel Egea
"Accotto Maximiliano D."


escribió en el
mensaje news:
haber pero seria bueno usar el . en lugar de la




coma!!! hace una cosa!!

Tu sql dejalo en Ingles como estaba!! y anda a las




propiedades de tu SO en
la parte de configuracion Regional y ahi cambia los




seteos.

Yo lo tengo en sistema americano siempre!! por




costumbre y mejor
visualizacion para mi

Un saludo

Maximiliano Damian Accotto
"c" escribió en




el mensaje
news:811401c3b4e7$466f4c10$
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 (esto NO lo puedo
cambiar) 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?






.





.

Respuesta Responder a este mensaje
#7 ulises
27/11/2003 - 18:15 | Informe spam
Creo que debes seguir la sugerencia de Miguel, el DTS
obtiene la información en un formato de texto (que puede
mostrarse correctamente) pero al hacer la conversión al
tipo float al parecer elimina la coma y solo graba los
datos numéricos, esto no lo vas a solucionar si cambias el
formato regional ya que el SQL solo reconoce el punto como
separador decimal.

Saludos,
Ulises

* El dato viene como 21,35

* El original es un ficheros de texto y en la de destino
es de tipo Float (Esto NO lo puedo cambiar)

* Si voy a la conexión de texto en el DTS y voy al botón
properties veo los datos bien!!! Ej: 21,35 ó 432,16 ó
235,34.
Pero luego en la tabla de la Base de datos lo veo como:
2135 ó 43216 ó 23534.

Gracias por cualquier ayuda que me puedan dar!

Respuesta Responder a este mensaje
#8 Miguel Egea
27/11/2003 - 18:51 | Informe spam
Además esta transformacion se puede hacer en el dts y no afecta ni al origen
ni al destino (que es a lo que me refería ..)
Saludos
Miguel Egea
"ulises" escribió en el mensaje
news:013101c3b50a$0df4e700$
Creo que debes seguir la sugerencia de Miguel, el DTS
obtiene la información en un formato de texto (que puede
mostrarse correctamente) pero al hacer la conversión al
tipo float al parecer elimina la coma y solo graba los
datos numéricos, esto no lo vas a solucionar si cambias el
formato regional ya que el SQL solo reconoce el punto como
separador decimal.

Saludos,
Ulises

* El dato viene como 21,35

* El original es un ficheros de texto y en la de destino
es de tipo Float (Esto NO lo puedo cambiar)

* Si voy a la conexión de texto en el DTS y voy al botón
properties veo los datos bien!!! Ej: 21,35 ó 432,16 ó
235,34.
Pero luego en la tabla de la Base de datos lo veo como:
2135 ó 43216 ó 23534.

Gracias por cualquier ayuda que me puedan dar!

Respuesta Responder a este mensaje
#9 c
27/11/2003 - 19:29 | Informe spam
El texto esta delimitado por TABS...
Reemplace las , por . y funcionó perfectamente!!!
Yo la transformación la hago en el DTS con el Transform
Data Task pero uso "COPY COLUMN" para psar directamente y
NO tengo que hacer transformaciones que me relentizarán
la carga...
Pero si no queda otra lo haría???
Verdaderamente no queda otra opción?
Cómo tendría que hacer entonces esta transformación?
Gracias!


probemos una cosa!!

cambia en el origen todas las comas por punto!!

y setia en tu panel de control el sistema americano

.. para decimal
, separador de miles

el texto, porque lo tenes delimitado?



Maximiliano Damian Accotto
"c" escribió en el


mensaje
news:05f101c3b507$f6506bd0$
* El dato viene como 21,35

* El original es un ficheros de texto y en la de destino
es de tipo Float (Esto NO lo puedo cambiar)

* Si voy a la conexión de texto en el DTS y voy al botón
properties veo los datos bien!!! Ej: 21,35 ó 432,16 ó
235,34.
Pero luego en la tabla de la Base de datos lo veo como:
2135 ó 43216 ó 23534.

Gracias por cualquier ayuda que me puedan dar!

el dato como biene: 21,35 o 21.35?

en q tipo de datos tenes en la columna original y en la


de destino?

Si haces la vista previa como lo ves?

Maximiliano Damian Accotto
"c" escribió en el


mensaje
news:001701c3b501$7d347350$
A ver, preferiría NO hacer transformaciones...
Si tengo que cambiar algo del Panel de control en el
servidor lo cambio pues se utiliza sólo para esto.
Me olvide de decirles que en el Panel de Control tengo




la
COMA como separador de decimales y el punto como
separador de miles...
Con lo cual NO se porque me lo toma 2135 en vez de 21,35
Me podrían decir que puede ser????
No importaría tocar el Panel de Control u otra cosa pero
quisiera evitar el hacer transformaciones sobre el
archivo de texto de origen...
Gracias!


yo no haría eso,Ten encuenta que puedes afectar a otras


aplicaciones, la
configuración regional yo no la tocaría. Sin embargo en


tu dts puedes
aplicar una transformación que cambie la coma por punto


antes de procesar la
tarea.

Saludos
Miguel Egea
"Accotto Maximiliano D."


escribió en el
mensaje news:
haber pero seria bueno usar el . en lugar de la




coma!!! hace una cosa!!

Tu sql dejalo en Ingles como estaba!! y anda a las




propiedades de tu SO en
la parte de configuracion Regional y ahi cambia los




seteos.

Yo lo tengo en sistema americano siempre!! por




costumbre y mejor
visualizacion para mi

Un saludo

Maximiliano Damian Accotto
"c" escribió en




el mensaje
news:811401c3b4e7$466f4c10$
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 (esto NO lo puedo
cambiar) 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?






.





.





.

Respuesta Responder a este mensaje
#10 Accotto Maximiliano D.
27/11/2003 - 20:48 | Informe spam
hola!! yo usaria tipo de datos decimal por ej el lugar de float!!

ahora yo hago esto:

En mis sistemas y todo no uso la coma nunca, siempre el .

Lo q creo q podes hacer por ej en el DTs es lo siguiente: (nunca lo probe
pero vi q se puede)

Viste q al crear un dts vos podes hacerlos por Vbscript no? bueno ahi armar
la transformacion podrias usar alguna funcion q del origen cambie las comas
y le ponga puntos (creo q la funcion replace lo hace)

Un saludo enorme

Maximiliano Damian Accotto
"c" escribió en el mensaje
news:06c201c3b514$74e369a0$
El texto esta delimitado por TABS...
Reemplace las , por . y funcionó perfectamente!!!
Yo la transformación la hago en el DTS con el Transform
Data Task pero uso "COPY COLUMN" para psar directamente y
NO tengo que hacer transformaciones que me relentizarán
la carga...
Pero si no queda otra lo haría???
Verdaderamente no queda otra opción?
Cómo tendría que hacer entonces esta transformación?
Gracias!


probemos una cosa!!

cambia en el origen todas las comas por punto!!

y setia en tu panel de control el sistema americano

.. para decimal
, separador de miles

el texto, porque lo tenes delimitado?



Maximiliano Damian Accotto
"c" escribió en el


mensaje
news:05f101c3b507$f6506bd0$
* El dato viene como 21,35

* El original es un ficheros de texto y en la de destino
es de tipo Float (Esto NO lo puedo cambiar)

* Si voy a la conexión de texto en el DTS y voy al botón
properties veo los datos bien!!! Ej: 21,35 ó 432,16 ó
235,34.
Pero luego en la tabla de la Base de datos lo veo como:
2135 ó 43216 ó 23534.

Gracias por cualquier ayuda que me puedan dar!

el dato como biene: 21,35 o 21.35?

en q tipo de datos tenes en la columna original y en la


de destino?

Si haces la vista previa como lo ves?

Maximiliano Damian Accotto
"c" escribió en el


mensaje
news:001701c3b501$7d347350$
A ver, preferiría NO hacer transformaciones...
Si tengo que cambiar algo del Panel de control en el
servidor lo cambio pues se utiliza sólo para esto.
Me olvide de decirles que en el Panel de Control tengo




la
COMA como separador de decimales y el punto como
separador de miles...
Con lo cual NO se porque me lo toma 2135 en vez de 21,35
Me podrían decir que puede ser????
No importaría tocar el Panel de Control u otra cosa pero
quisiera evitar el hacer transformaciones sobre el
archivo de texto de origen...
Gracias!


yo no haría eso,Ten encuenta que puedes afectar a otras


aplicaciones, la
configuración regional yo no la tocaría. Sin embargo en


tu dts puedes
aplicar una transformación que cambie la coma por punto


antes de procesar la
tarea.

Saludos
Miguel Egea
"Accotto Maximiliano D."


escribió en el
mensaje news:
haber pero seria bueno usar el . en lugar de la




coma!!! hace una cosa!!

Tu sql dejalo en Ingles como estaba!! y anda a las




propiedades de tu SO en
la parte de configuracion Regional y ahi cambia los




seteos.

Yo lo tengo en sistema americano siempre!! por




costumbre y mejor
visualizacion para mi

Un saludo

Maximiliano Damian Accotto
"c" escribió en




el mensaje
news:811401c3b4e7$466f4c10$
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 (esto NO lo puedo
cambiar) 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?






.





.





.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida