URGENTE- SQLSERVER/VB/FECHAS

05/12/2003 - 15:46 por RCC | Informe spam
Hola a todos.

Tenemos un programa que via ODBC (DAO 3.6) se conecta a una base de datos
SQLSERVER 2000 en un servidor.
Resulta que el servidor tiene definido en el regional setting MM/dd/yyyy, y
cuando se envia la insercion las rutinas de fecha formatean la fecha al
formato dd/MM/yyyy (como estandar basico), previo a la insercion se envia la
sentencia set dateformat dmy, pero el problema esta en que sql guarda la
fecha con otros valores.
Para poner un ejemplo si quiero guardar la fecha 04/12/2003 (4 de diciembre
de 2003), lo que gurda en la base de datos es 4/12/2003 (12 de abril de
2003).
Quisiera saber cual es la forma correcta de enviar la consulta porque hoy el
servidor esta en el formato MM/dd/yyyy pero pueden cambiarlo y tendria que
cambiar el programa o la rutina.
No se si habrá alguna forma de no tener que depender de los formatos que
tenga la maquina cliente o el servidor.

Desde ya muchas gracias.
Saludos.

Preguntas similare

Leer las respuestas

#1 Programmer
05/12/2003 - 15:57 | Informe spam
Lo que yo hago, para evitar problemas de configuración regional y demás, es
enviar la fecha como una cadena de texto, con el formato yyyymmdd ejemplo:
'20031205' para el dia de hoy



JOSE DAVID GALVIZ MUÑOZ
MCP

"RCC" escribió en el mensaje
news:
Hola a todos.

Tenemos un programa que via ODBC (DAO 3.6) se conecta a una base de datos
SQLSERVER 2000 en un servidor.
Resulta que el servidor tiene definido en el regional setting MM/dd/yyyy,


y
cuando se envia la insercion las rutinas de fecha formatean la fecha al
formato dd/MM/yyyy (como estandar basico), previo a la insercion se envia


la
sentencia set dateformat dmy, pero el problema esta en que sql guarda la
fecha con otros valores.
Para poner un ejemplo si quiero guardar la fecha 04/12/2003 (4 de


diciembre
de 2003), lo que gurda en la base de datos es 4/12/2003 (12 de abril de
2003).
Quisiera saber cual es la forma correcta de enviar la consulta porque hoy


el
servidor esta en el formato MM/dd/yyyy pero pueden cambiarlo y tendria que
cambiar el programa o la rutina.
No se si habrá alguna forma de no tener que depender de los formatos que
tenga la maquina cliente o el servidor.

Desde ya muchas gracias.
Saludos.


Respuesta Responder a este mensaje
#2 ulises
05/12/2003 - 16:06 | Informe spam
En principio al SQL 2000 no le interesa para sus procesos
el formato de fecha que tengas definido en tu
configuración regional, el lo maneja en base al lenguaje
definido para el usuario y una forma de cambiarlo es
mediante SET DATEFORMAT, pero la mejor manera es usando
siempre la fecha en formato ANSI, p.e.:

SELECT * FROM TABLA WHERE campo = 'yyyymmdd hh:mm:sss"

Saludos,
Ulises

Hola a todos.

Tenemos un programa que via ODBC (DAO 3.6) se conecta a


una base de datos
SQLSERVER 2000 en un servidor.
Resulta que el servidor tiene definido en el regional


setting MM/dd/yyyy, y
cuando se envia la insercion las rutinas de fecha


formatean la fecha al
formato dd/MM/yyyy (como estandar basico), previo a la


insercion se envia la
sentencia set dateformat dmy, pero el problema esta en


que sql guarda la
fecha con otros valores.
Para poner un ejemplo si quiero guardar la fecha


04/12/2003 (4 de diciembre
de 2003), lo que gurda en la base de datos es 4/12/2003


(12 de abril de
2003).
Quisiera saber cual es la forma correcta de enviar la


consulta porque hoy el
servidor esta en el formato MM/dd/yyyy pero pueden


cambiarlo y tendria que
cambiar el programa o la rutina.
No se si habrá alguna forma de no tener que depender de


los formatos que
tenga la maquina cliente o el servidor.

Desde ya muchas gracias.
Saludos.


.

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