Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Obtener hora de un servidor

Estas en el tema de Obtener hora de un servidor en el foro de Visual Basic clásico en Foros del Web. Hola, mi problema es el siguiente: Estoy elaborando un pequeño checador de entradas y salidas, tengo un Reloj donde va mostrando el avance de los ...
  #1 (permalink)  
Antiguo 19/09/2010, 23:58
PP2
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 5 meses
Puntos: 0
Exclamación Obtener hora de un servidor

Hola, mi problema es el siguiente:
Estoy elaborando un pequeño checador de entradas y salidas, tengo un Reloj donde va mostrando el avance de los segundos, pero veo que si yo a la maquina cliente le cambio la hora, en automatico cambia en el programa, para lo cual me surgio la duda si es posible obtener la hora del servidor donde tengo mi base de datos.
He visto en google que ponen que ejecute un SELECT NOW y eso lo asigne, pero no me funciona y quiera saber si hay algo donde yo le pueda decir..."toma la hora de la ip tal" y asi aunque muevan la hora del equipo cliente no se vera modificada en el sistema.

Saludos y gracias de antemano por la ayuda.
  #2 (permalink)  
Antiguo 20/09/2010, 00:15
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: Obtener hora de un servidor

Hola:
Yo no estoy puesto en Bases de Datos, pero he encontrado este mensaje en Google que quizás pueda ayudarte.

Cita:
Otra opción es usar «DATEPART» en la parte del servidor para descomponer la fecha y «TimeSerial» en la parte del cliente para volver a reconstruirla en una variable «Date»; por ejemplo:

Dim Cn As ADODB.Connection, Rs As ADODB.Recordset
Set Cn = New ADODB.Connection
Set Rs = New ADODB.Recordset
Cn.Open "Provider=SQLOLEDB.1;bla,bla,bla..."
Rs.Open "DECLARE ***f datetime" & vbCr & _
"SET ***f = GetDate()" & vbCr & _
"SELECT DatePart(hh, ***f) h, DatePart(n, ***f) m, DatePart(s, ***f) s", Cn
Debug.Print TimeSerial(Rs.Collect("h"), Rs.Collect("m"), Rs.Collect("s"))
Rs.Close
Cn.Close
Set Rs = Nothing
Set Cn = Nothing

~~~~~~~~~~~~Inmediato~~~~~~~~~~~~~~~~~
15:47:22
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
Por si te sirve de ayuda, aquí te lo dejo así como el enlace a la discusión de este asunto, aunque es del año 2007.

Saludos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...

Etiquetas: servidores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:16.