Dudas con fechas e idioma de SQL Server

25/06/2008 - 10:14 por Lope | Informe spam
Buenas.

Tengo una aplicación que hace consultas contra dos servidores SQL 2000
(uno en castellano y otro en edición en inglés).

La consulta usa este tipo de condición

"...WHERE (Tabla.Fecha > '25/06/08')..."

El caso es que contra el servidor en castellano no hay ningún problema,
pero contra el servidor que está en inglés me dice que hay un
desbordamiento al intentar pasar de tipo char a tipo datetime y que se
crearía un valor fuera de rango.

¿Tiene el idioma del servidor SQL algo que ver? ¿La solución sería
reemplazarlo por una edición en castellano, o el problema vendría por
otro lado?

Gracias.

Preguntas similare

Leer las respuestas

#1 Sergio
25/06/2008 - 11:49 | Informe spam
Yo creo que la solución es utilizar el formato ANSI
AAAAMMDD
Este formato siempre funciona con independencia del idioma del
servidor y del idioma de la conexión
Por ejemplo tu fecha pasaría a ser '20080625'
Pruebalo.

On 25 jun, 10:14, Lope wrote:
        Buenas.

        Tengo una aplicación que hace consultas contra dos servidores SQL 2000
(uno en castellano y otro en edición en inglés).

        La consulta usa este tipo de condición

        "...WHERE (Tabla.Fecha > '25/06/08')..."

        El caso es que contra el servidor en castellano no hay ningún problema,
pero contra el servidor que está en inglés me dice que hay un
desbordamiento al intentar pasar de tipo char a tipo datetime y que se
crearía un valor fuera de rango.

        ¿Tiene el idioma del servidor SQL algo que ver? ¿La solución sería
reemplazarlo por una edición en castellano, o el problema vendría por
otro lado?

        Gracias.
Respuesta Responder a este mensaje
#2 Lope
25/06/2008 - 11:58 | Informe spam
Sergio escribió:
Yo creo que la solución es utilizar el formato ANSI
AAAAMMDD
Este formato siempre funciona con independencia del idioma del
servidor y del idioma de la conexión
Por ejemplo tu fecha pasaría a ser '20080625'
Pruebalo.



El tema es que el código de momento no debo tocarlo. ¿No se puede
solucionar del lado del servidor sin tener que reinstalarlo en castellano?

Gracias.
Respuesta Responder a este mensaje
#3 Sergio
25/06/2008 - 14:08 | Informe spam
Desde SQL server puede ver que formato de fecha espera sql, lanzado la
siguiente instrucción:
DBCC USEROPTIONS (y vemos la opción dateformat)
y para establecer por ejemplo dmy, ponemos:
SET DATEFORMAT dmy
A partir de ahí espera recibir fechas en ese formato.

No recuerdo (aunque creo que si) si puedes establecer este setting
desde la cadena de conexión, mira en www.connectionstrings.com que
seguro hay algún ejemplo.

Sino, siempre podrías lanzar esta instrucción después de conectarte
(como si fuera un batch de inicio o algo así...)

Mira este enlace que habla sobre ello
http://www.databasejournal.com/feat..._2191631_1

Un saludo.






On 25 jun, 11:58, Lope wrote:
Sergio escribió:

> Yo creo que la  solución es utilizar el formato ANSI
> AAAAMMDD
> Este formato siempre funciona con independencia del idioma del
> servidor y del idioma de la conexión
> Por ejemplo tu fecha pasaría a ser '20080625'
> Pruebalo.

        El tema es que el código de momento no debo tocarlo. ¿No se puede
solucionar del lado del servidor sin tener que reinstalarlo en castellano?

        Gracias.
Respuesta Responder a este mensaje
#4 Maxi Accotto
26/06/2008 - 00:45 | Informe spam
Hola el formato depende del login en si, vaya a las propiedades del login
que se esta usando para conectar desde las aplicaciones al SQL y defina el
idioma correcto.

Lo mejor igual seria trabajar con ANSI pero si no puede tocar el codigo
entonces..


Saludos
Maxi Accotto
Microsoft MVP en SQLServer
SQltotalconsulting
-

"Lope" escribió en el mensaje de
noticias:
Sergio escribió:
Yo creo que la solución es utilizar el formato ANSI
AAAAMMDD
Este formato siempre funciona con independencia del idioma del
servidor y del idioma de la conexión
Por ejemplo tu fecha pasaría a ser '20080625'
Pruebalo.



El tema es que el código de momento no debo tocarlo. ¿No se puede
solucionar del lado del servidor sin tener que reinstalarlo en castellano?

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