Problemas con Smalldatetime

18/04/2006 - 15:58 por Adal | Informe spam
Tengo un programa en VS2005 y utilizo SQL 2000, primero utilzaba el Servidor
A con "Microsoft SQL Server Desktop Engine" con un SO "Microsoft Windows NT
5.2 (3790)" y al intentar guardar fechas me arrojaba un error de que estas no
podian ser guardadas, porque no podian ser convertidas a un formato de
smalldatetime, luego lo resolvi, y el formato en el cual las guardaba era
mes/dia/año. Luego, por diversas cuestiones, tuve que cambiar de maquina a un
Sevidor B, el cual tiene las siguientes características: "Microsoft SQL
Server Enterprise Edition" con "Microsoft Windows NT 5.2 (3790)", y
nuevamente me arroja el mismo problema, saben como podría reconfigurar el
Servidor B para que no me arroje este problema o porque me esta arroja el
problema.
El error que me saca es el siguiente:
"System.Data.SqlClient.SqlException: The conversion of char data type to
smalldatetime data type resulted in an out-of-range smalldatetime value"

Preguntas similare

Leer las respuestas

#1 Adal
18/04/2006 - 17:34 | Informe spam
He estado haciendo pruebas y cuando me conecto a la BD, con autentificación
de Windows no me arroja ningun tipo de problema, no obstante, si en mi
aplicación me conecto con autentificación de SQL, entonces si me arroja
problemas con el almacenamiento de fechas en Smalldatetime, pero sigo sin
saber porque???? y/o como podria resolver el problema.

"Adal" wrote:

Tengo un programa en VS2005 y utilizo SQL 2000, primero utilzaba el Servidor
A con "Microsoft SQL Server Desktop Engine" con un SO "Microsoft Windows NT
5.2 (3790)" y al intentar guardar fechas me arrojaba un error de que estas no
podian ser guardadas, porque no podian ser convertidas a un formato de
smalldatetime, luego lo resolvi, y el formato en el cual las guardaba era
mes/dia/año. Luego, por diversas cuestiones, tuve que cambiar de maquina a un
Sevidor B, el cual tiene las siguientes características: "Microsoft SQL
Server Enterprise Edition" con "Microsoft Windows NT 5.2 (3790)", y
nuevamente me arroja el mismo problema, saben como podría reconfigurar el
Servidor B para que no me arroje este problema o porque me esta arroja el
problema.
El error que me saca es el siguiente:
"System.Data.SqlClient.SqlException: The conversion of char data type to
smalldatetime data type resulted in an out-of-range smalldatetime value"

Respuesta Responder a este mensaje
#2 Adal
19/04/2006 - 02:27 | Informe spam
Ya estuve revisando y al parecer el problema se debe a la configuracion
regional de cada PC. Ya es una ganancia saber eso, ahora el problema es como
hacer un codigo estandar y que esta sea independiente de la configuración de
cada PC. Lo que hasta el momento se me ha ocurrido es hacer una versión para
cada region, lo bueno, ke en las maquinas de la red, solo hay dos tipos
diferentes de configuracinoes, no obstante, lo que se m ocurrio esto es
impractico, por ello de antemano agradezco de antemano si alguien me puede
brindar una solución o idea de como pueda corregir esto.

"Adal" wrote:

He estado haciendo pruebas y cuando me conecto a la BD, con autentificación
de Windows no me arroja ningun tipo de problema, no obstante, si en mi
aplicación me conecto con autentificación de SQL, entonces si me arroja
problemas con el almacenamiento de fechas en Smalldatetime, pero sigo sin
saber porque???? y/o como podria resolver el problema.

"Adal" wrote:

> Tengo un programa en VS2005 y utilizo SQL 2000, primero utilzaba el Servidor
> A con "Microsoft SQL Server Desktop Engine" con un SO "Microsoft Windows NT
> 5.2 (3790)" y al intentar guardar fechas me arrojaba un error de que estas no
> podian ser guardadas, porque no podian ser convertidas a un formato de
> smalldatetime, luego lo resolvi, y el formato en el cual las guardaba era
> mes/dia/año. Luego, por diversas cuestiones, tuve que cambiar de maquina a un
> Sevidor B, el cual tiene las siguientes características: "Microsoft SQL
> Server Enterprise Edition" con "Microsoft Windows NT 5.2 (3790)", y
> nuevamente me arroja el mismo problema, saben como podría reconfigurar el
> Servidor B para que no me arroje este problema o porque me esta arroja el
> problema.
> El error que me saca es el siguiente:
> "System.Data.SqlClient.SqlException: The conversion of char data type to
> smalldatetime data type resulted in an out-of-range smalldatetime value"
>
Respuesta Responder a este mensaje
#3 Gilberto López
19/04/2006 - 06:50 | Informe spam
Hola Adal,

No vi antes tus mensajes, en efecto estos problemas son por la configuración
regional de cada máquina y pasan cuando tratas una fecha como una cadena, no
dices como estás tratando de grabar la fecha, pero por lo que te aparece me
da la impresión que estás haciendo una sentencia SQL que luego ejecutas. Los
problemas de regionalización no son nada nuevo y de hecho apenas te has
topado con la punta del iceberg, por lo que esto para tu fortuna ya esta
solucionado desde hace mucho, lo que debes hacer es algo de lo siguiente:

1) La mejor solución a TODOS estos problemas es usar los objetos del
Framework de regionalización, pero no es la más sencilla de todas de
aprender a usar. En un sólo post no puedo darte todas las técnicas, pero te
oriento a que debes usar el principalmente el objeto: CultureInfo, una
referencia de como se usa la puedes hallar en
http://msdn2.microsoft.com/en-us/library/87k6sx8t(VS.80).aspx

2) Cambiar la manera en como agregas o editas los datos, en lugar de usar
una sentencia trata de usar un DataSet, esta es la mejor segunda solución,
ya que al grabarse los datos ya tiene en cuenta estos detalles, por ejemplo
la fecha es en realidad una fecha y no un string.

3) Haz una sentencia con la fecha formateada en el estandar genérico de SQL
para fechas, esto implica que de un DateTime hagas la conversión, esta es la
más sencilla, pero es la menos recomendada.

Espero que esto te ayude, y si tienes algún problema, pues puedes volver a
postear y alguno de los del foro te ayudaremos.

Saludos
FLY

"Adal" wrote in message
news:
Ya estuve revisando y al parecer el problema se debe a la configuracion
regional de cada PC. Ya es una ganancia saber eso, ahora el problema es
como
hacer un codigo estandar y que esta sea independiente de la configuración
de
cada PC. Lo que hasta el momento se me ha ocurrido es hacer una versión
para
cada region, lo bueno, ke en las maquinas de la red, solo hay dos tipos
diferentes de configuracinoes, no obstante, lo que se m ocurrio esto es
impractico, por ello de antemano agradezco de antemano si alguien me puede
brindar una solución o idea de como pueda corregir esto.

"Adal" wrote:

He estado haciendo pruebas y cuando me conecto a la BD, con
autentificación
de Windows no me arroja ningun tipo de problema, no obstante, si en mi
aplicación me conecto con autentificación de SQL, entonces si me arroja
problemas con el almacenamiento de fechas en Smalldatetime, pero sigo sin
saber porque???? y/o como podria resolver el problema.

"Adal" wrote:

> Tengo un programa en VS2005 y utilizo SQL 2000, primero utilzaba el
> Servidor
> A con "Microsoft SQL Server Desktop Engine" con un SO "Microsoft
> Windows NT
> 5.2 (3790)" y al intentar guardar fechas me arrojaba un error de que
> estas no
> podian ser guardadas, porque no podian ser convertidas a un formato de
> smalldatetime, luego lo resolvi, y el formato en el cual las guardaba
> era
> mes/dia/año. Luego, por diversas cuestiones, tuve que cambiar de
> maquina a un
> Sevidor B, el cual tiene las siguientes características: "Microsoft SQL
> Server Enterprise Edition" con "Microsoft Windows NT 5.2 (3790)", y
> nuevamente me arroja el mismo problema, saben como podría reconfigurar
> el
> Servidor B para que no me arroje este problema o porque me esta arroja
> el
> problema.
> El error que me saca es el siguiente:
> "System.Data.SqlClient.SqlException: The conversion of char data type
> to
> smalldatetime data type resulted in an out-of-range smalldatetime
> value"
>
Respuesta Responder a este mensaje
#4 Adal
19/04/2006 - 19:10 | Informe spam
Hola Fly, de antemano, gracias por todo. La aplicación que estoy haciendo es
sobre Win y creia que eso de las regiones no era importante y solo se ocupaba
para WEB, pero me di cuenta ke no es así, y como soy un novato pues estoy
aprendiendo. Ya revise la pagina que me diste sin embargo, como que viene
algo denso y siento que esta bien, pero al menos por el momento no me ayuda.
No obstante, las recomendaciones que me das me han abierto un nuevo panorama,
sobre todo lo de usar un DataSet. Y bueno... mira... encontre esta pagina que
al parecer tiene cosas interesantes y solo por si acaso, pues te la
recomiendo:

http://www.elguille.info/NET/dotnet...ltura.aspx

Bueno, he comenzado a realizar algunas de acuerdo con lo que recomienda esta
pagina y de momento voy bien, pero bueno, de antemano, gracias.

"Gilberto López" wrote:

Hola Adal,

No vi antes tus mensajes, en efecto estos problemas son por la configuración
regional de cada máquina y pasan cuando tratas una fecha como una cadena, no
dices como estás tratando de grabar la fecha, pero por lo que te aparece me
da la impresión que estás haciendo una sentencia SQL que luego ejecutas. Los
problemas de regionalización no son nada nuevo y de hecho apenas te has
topado con la punta del iceberg, por lo que esto para tu fortuna ya esta
solucionado desde hace mucho, lo que debes hacer es algo de lo siguiente:

1) La mejor solución a TODOS estos problemas es usar los objetos del
Framework de regionalización, pero no es la más sencilla de todas de
aprender a usar. En un sólo post no puedo darte todas las técnicas, pero te
oriento a que debes usar el principalmente el objeto: CultureInfo, una
referencia de como se usa la puedes hallar en
http://msdn2.microsoft.com/en-us/library/87k6sx8t(VS.80).aspx

2) Cambiar la manera en como agregas o editas los datos, en lugar de usar
una sentencia trata de usar un DataSet, esta es la mejor segunda solución,
ya que al grabarse los datos ya tiene en cuenta estos detalles, por ejemplo
la fecha es en realidad una fecha y no un string.

3) Haz una sentencia con la fecha formateada en el estandar genérico de SQL
para fechas, esto implica que de un DateTime hagas la conversión, esta es la
más sencilla, pero es la menos recomendada.

Espero que esto te ayude, y si tienes algún problema, pues puedes volver a
postear y alguno de los del foro te ayudaremos.

Saludos
FLY

"Adal" wrote in message
news:
> Ya estuve revisando y al parecer el problema se debe a la configuracion
> regional de cada PC. Ya es una ganancia saber eso, ahora el problema es
> como
> hacer un codigo estandar y que esta sea independiente de la configuración
> de
> cada PC. Lo que hasta el momento se me ha ocurrido es hacer una versión
> para
> cada region, lo bueno, ke en las maquinas de la red, solo hay dos tipos
> diferentes de configuracinoes, no obstante, lo que se m ocurrio esto es
> impractico, por ello de antemano agradezco de antemano si alguien me puede
> brindar una solución o idea de como pueda corregir esto.
>
> "Adal" wrote:
>
>> He estado haciendo pruebas y cuando me conecto a la BD, con
>> autentificación
>> de Windows no me arroja ningun tipo de problema, no obstante, si en mi
>> aplicación me conecto con autentificación de SQL, entonces si me arroja
>> problemas con el almacenamiento de fechas en Smalldatetime, pero sigo sin
>> saber porque???? y/o como podria resolver el problema.
>>
>> "Adal" wrote:
>>
>> > Tengo un programa en VS2005 y utilizo SQL 2000, primero utilzaba el
>> > Servidor
>> > A con "Microsoft SQL Server Desktop Engine" con un SO "Microsoft
>> > Windows NT
>> > 5.2 (3790)" y al intentar guardar fechas me arrojaba un error de que
>> > estas no
>> > podian ser guardadas, porque no podian ser convertidas a un formato de
>> > smalldatetime, luego lo resolvi, y el formato en el cual las guardaba
>> > era
>> > mes/dia/año. Luego, por diversas cuestiones, tuve que cambiar de
>> > maquina a un
>> > Sevidor B, el cual tiene las siguientes características: "Microsoft SQL
>> > Server Enterprise Edition" con "Microsoft Windows NT 5.2 (3790)", y
>> > nuevamente me arroja el mismo problema, saben como podría reconfigurar
>> > el
>> > Servidor B para que no me arroje este problema o porque me esta arroja
>> > el
>> > problema.
>> > El error que me saca es el siguiente:
>> > "System.Data.SqlClient.SqlException: The conversion of char data type
>> > to
>> > smalldatetime data type resulted in an out-of-range smalldatetime
>> > value"
>> >



Respuesta Responder a este mensaje
#5 Daniel A. Seara
26/04/2006 - 17:32 | Informe spam
Adal:
La mejor fomra de administrar eso es utilizar el tipo de dqtos específico,
con un command con parámetros, en lugar de "armar el Insert" como texto.
Si usas un procedimiento almacenado para actualziar tus datos, el parámetro
será de tipo smalltime.
Eso, en VB o C#, será un System.DateTime.
A ese parámetro entonces, podrás asignarle cuaquier variable DateTime (Date
en VB), que no contendrá la representación en caracteres de dicha fecha,
sino su valor real.
Y solucionado el tema.
Saludos

"Adal" escribió en el mensaje
news:
Hola Fly, de antemano, gracias por todo. La aplicación que estoy haciendo
es
sobre Win y creia que eso de las regiones no era importante y solo se
ocupaba
para WEB, pero me di cuenta ke no es así, y como soy un novato pues estoy
aprendiendo. Ya revise la pagina que me diste sin embargo, como que viene
algo denso y siento que esta bien, pero al menos por el momento no me
ayuda.
No obstante, las recomendaciones que me das me han abierto un nuevo
panorama,
sobre todo lo de usar un DataSet. Y bueno... mira... encontre esta pagina
que
al parecer tiene cosas interesantes y solo por si acaso, pues te la
recomiendo:

http://www.elguille.info/NET/dotnet...ltura.aspx

Bueno, he comenzado a realizar algunas de acuerdo con lo que recomienda
esta
pagina y de momento voy bien, pero bueno, de antemano, gracias.

"Gilberto López" wrote:

Hola Adal,

No vi antes tus mensajes, en efecto estos problemas son por la
configuración
regional de cada máquina y pasan cuando tratas una fecha como una cadena,
no
dices como estás tratando de grabar la fecha, pero por lo que te aparece
me
da la impresión que estás haciendo una sentencia SQL que luego ejecutas.
Los
problemas de regionalización no son nada nuevo y de hecho apenas te has
topado con la punta del iceberg, por lo que esto para tu fortuna ya esta
solucionado desde hace mucho, lo que debes hacer es algo de lo siguiente:

1) La mejor solución a TODOS estos problemas es usar los objetos del
Framework de regionalización, pero no es la más sencilla de todas de
aprender a usar. En un sólo post no puedo darte todas las técnicas, pero
te
oriento a que debes usar el principalmente el objeto: CultureInfo, una
referencia de como se usa la puedes hallar en
http://msdn2.microsoft.com/en-us/library/87k6sx8t(VS.80).aspx

2) Cambiar la manera en como agregas o editas los datos, en lugar de usar
una sentencia trata de usar un DataSet, esta es la mejor segunda
solución,
ya que al grabarse los datos ya tiene en cuenta estos detalles, por
ejemplo
la fecha es en realidad una fecha y no un string.

3) Haz una sentencia con la fecha formateada en el estandar genérico de
SQL
para fechas, esto implica que de un DateTime hagas la conversión, esta es
la
más sencilla, pero es la menos recomendada.

Espero que esto te ayude, y si tienes algún problema, pues puedes volver
a
postear y alguno de los del foro te ayudaremos.

Saludos
FLY

"Adal" wrote in message
news:
> Ya estuve revisando y al parecer el problema se debe a la
> configuracion
> regional de cada PC. Ya es una ganancia saber eso, ahora el problema es
> como
> hacer un codigo estandar y que esta sea independiente de la
> configuración
> de
> cada PC. Lo que hasta el momento se me ha ocurrido es hacer una versión
> para
> cada region, lo bueno, ke en las maquinas de la red, solo hay dos tipos
> diferentes de configuracinoes, no obstante, lo que se m ocurrio esto es
> impractico, por ello de antemano agradezco de antemano si alguien me
> puede
> brindar una solución o idea de como pueda corregir esto.
>
> "Adal" wrote:
>
>> He estado haciendo pruebas y cuando me conecto a la BD, con
>> autentificación
>> de Windows no me arroja ningun tipo de problema, no obstante, si en mi
>> aplicación me conecto con autentificación de SQL, entonces si me
>> arroja
>> problemas con el almacenamiento de fechas en Smalldatetime, pero sigo
>> sin
>> saber porque???? y/o como podria resolver el problema.
>>
>> "Adal" wrote:
>>
>> > Tengo un programa en VS2005 y utilizo SQL 2000, primero utilzaba el
>> > Servidor
>> > A con "Microsoft SQL Server Desktop Engine" con un SO "Microsoft
>> > Windows NT
>> > 5.2 (3790)" y al intentar guardar fechas me arrojaba un error de que
>> > estas no
>> > podian ser guardadas, porque no podian ser convertidas a un formato
>> > de
>> > smalldatetime, luego lo resolvi, y el formato en el cual las
>> > guardaba
>> > era
>> > mes/dia/año. Luego, por diversas cuestiones, tuve que cambiar de
>> > maquina a un
>> > Sevidor B, el cual tiene las siguientes características: "Microsoft
>> > SQL
>> > Server Enterprise Edition" con "Microsoft Windows NT 5.2 (3790)", y
>> > nuevamente me arroja el mismo problema, saben como podría
>> > reconfigurar
>> > el
>> > Servidor B para que no me arroje este problema o porque me esta
>> > arroja
>> > el
>> > problema.
>> > El error que me saca es el siguiente:
>> > "System.Data.SqlClient.SqlException: The conversion of char data
>> > type
>> > to
>> > smalldatetime data type resulted in an out-of-range smalldatetime
>> > value"
>> >



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