Discussion:
URGENTE:_ Error datetime char
(demasiado antiguo para responder)
Pao
2003-09-20 12:59:48 UTC
Permalink
El mensaje de error inferior me sale al ejecutar una
aplicación VB60, en SQL 7.0 en inglés funciona bien pero
en SQL 2000 en español sale este mensaje de error. No se
si es la versión del SQL 200 por que es español o qué. Me
podrían ayudar con este problema.
Cualquier dato adicional me indican.


Error:
CONMOvimientos
Error '-2147217913 (80040e07)' en tiempo de ejecucion:
[Microsoft][ODBC SQL Server Driver] [SQL Server] La
conversión del tipo de datos char a datetime produjo un
valor datime fuera de intervalo.
Eladio Rincón
2003-09-20 13:15:14 UTC
Permalink
Hola,

creo que el problema es el formato de fecha "teórico" que tienes en la columna char; como parece ser que estás realizando conversiones implícitas:
declare @v as char(10)
set @v = '20021201'
declare @fecha as datetime
set @fecha = @v

intenta que el tipo de datos char se corresponda al formato ISO (yyyymmdd), y te evitarás confusiones entre meses y días;

Por cierto, lo ideal sería cambiar el tipo de datos char a datetime, pero supongo que eso conlleva rehacer desarrollos y tiempo ...

Saludos,
--
Eladio Rincón
SQL Server MVP
http://eladio.europe.webmatrixhosting.net
***@torrevieja.infoville.net


"Comparte lo que sabes, aprende lo que no sepas." FGG

"Pao" <***@yahoo.com> escribió en el mensaje news:03b401c37f77$12498630$***@phx.gbl...
El mensaje de error inferior me sale al ejecutar una
aplicación VB60, en SQL 7.0 en inglés funciona bien pero
en SQL 2000 en español sale este mensaje de error. No se
si es la versión del SQL 200 por que es español o qué. Me
podrían ayudar con este problema.
Cualquier dato adicional me indican.


Error:
CONMOvimientos
Error '-2147217913 (80040e07)' en tiempo de ejecucion:
[Microsoft][ODBC SQL Server Driver] [SQL Server] La
conversión del tipo de datos char a datetime produjo un
valor datime fuera de intervalo.
Pao
2003-09-20 13:25:48 UTC
Permalink
Ok voy a chequearlo, pero una duda más...como se cual es
el formato de la fecha que viene por default cuando
instalo mi sqlsever??? se a español ingles 7 o 2000 ??
-----Mensaje original-----
Hola,
creo que el problema es el formato de fecha "teórico" que
tienes en la columna char; como parece ser que estás
intenta que el tipo de datos char se corresponda al
formato ISO (yyyymmdd), y te evitarás confusiones entre
meses y días;
Por cierto, lo ideal sería cambiar el tipo de datos char
a datetime, pero supongo que eso conlleva rehacer
desarrollos y tiempo ...
Saludos,
--
Eladio Rincón
SQL Server MVP
http://eladio.europe.webmatrixhosting.net
"Comparte lo que sabes, aprende lo que no sepas." FGG
El mensaje de error inferior me sale al ejecutar una
aplicación VB60, en SQL 7.0 en inglés funciona bien pero
en SQL 2000 en español sale este mensaje de error. No se
si es la versión del SQL 200 por que es español o qué. Me
podrían ayudar con este problema.
Cualquier dato adicional me indican.
CONMOvimientos
[Microsoft][ODBC SQL Server Driver] [SQL Server] La
conversión del tipo de datos char a datetime produjo un
valor datime fuera de intervalo.
.
Eladio Rincón
2003-09-20 13:45:03 UTC
Permalink
Hola,

dada una configuración de idioma para la instancia, puede consultar la columna dateformat de la tabla master.dbo.syslanguages;


utiliza el procedimiento almacenado sp_configure para obtener el código del idioma de la instancia:
sp_configure 'default language'
config_value te devuelve el código de idioma; como mi idioma es Spanish, me devuelve 5

y luego consultas:
select dateformat from master.dbo.syslanguages
where langid = 5


si necesitas cambiar el formato de fecha de la conexión actual, podrás usar:
set dateformat; mira en BOL que la explicación es muy clara.

Saludos,
--
Eladio Rincón
SQL Server MVP
http://eladio.europe.webmatrixhosting.net
***@torrevieja.infoville.net


"Comparte lo que sabes, aprende lo que no sepas." FGG

"Pao" <***@yahoo.com> escribió en el mensaje news:0d9601c37f7a$b40f8700$***@phx.gbl...
Ok voy a chequearlo, pero una duda más...como se cual es
el formato de la fecha que viene por default cuando
instalo mi sqlsever??? se a español ingles 7 o 2000 ??
-----Mensaje original-----
Hola,
creo que el problema es el formato de fecha "teórico" que
tienes en la columna char; como parece ser que estás
intenta que el tipo de datos char se corresponda al
formato ISO (yyyymmdd), y te evitarás confusiones entre
meses y días;
Por cierto, lo ideal sería cambiar el tipo de datos char
a datetime, pero supongo que eso conlleva rehacer
desarrollos y tiempo ...
Saludos,
--
Eladio Rincón
SQL Server MVP
http://eladio.europe.webmatrixhosting.net
"Comparte lo que sabes, aprende lo que no sepas." FGG
El mensaje de error inferior me sale al ejecutar una
aplicación VB60, en SQL 7.0 en inglés funciona bien pero
en SQL 2000 en español sale este mensaje de error. No se
si es la versión del SQL 200 por que es español o qué. Me
podrían ayudar con este problema.
Cualquier dato adicional me indican.
CONMOvimientos
[Microsoft][ODBC SQL Server Driver] [SQL Server] La
conversión del tipo de datos char a datetime produjo un
valor datime fuera de intervalo.
.
Carlos
2003-09-20 13:31:43 UTC
Permalink
Ese error es cuestión del formato de fecha que estás
utilizando, puedes modificar el formato antes de mandar
la consulta, generalmente para cadenas en SQL el
formato "yyyymmdd" no falla, y el problema es que en
inglés el formato es mm/dd/yy y en español es dd/mm/yy,
entonces cuando el dia es mayor que 12 lo toma como mes y
por eso te manda el error. Con solo ver el dato antes de
enviarlo y al recibirlo vas a poder utilizar el formato
adecuado, para que no te mande el error el sistema.
Ejemplo: Fecha = Format(Fecha, "yyyymmdd") 'Formato para
SQL
-----Mensaje original-----
El mensaje de error inferior me sale al ejecutar una
aplicación VB60, en SQL 7.0 en inglés funciona bien pero
en SQL 2000 en español sale este mensaje de error. No se
si es la versión del SQL 200 por que es español o qué.
Me
podrían ayudar con este problema.
Cualquier dato adicional me indican.
CONMOvimientos
[Microsoft][ODBC SQL Server Driver] [SQL Server] La
conversión del tipo de datos char a datetime produjo un
valor datime fuera de intervalo.
.
Pao
2003-09-20 15:04:21 UTC
Permalink
Muchas gracias...Por su ayuda...lo pruebo y les confirmo.
-----Mensaje original-----
El mensaje de error inferior me sale al ejecutar una
aplicación VB60, en SQL 7.0 en inglés funciona bien pero
en SQL 2000 en español sale este mensaje de error. No se
si es la versión del SQL 200 por que es español o qué. Me
podrían ayudar con este problema.
Cualquier dato adicional me indican.
CONMOvimientos
[Microsoft][ODBC SQL Server Driver] [SQL Server] La
conversión del tipo de datos char a datetime produjo un
valor datime fuera de intervalo.
.
Loading...