Ir al contenido


Foto

Mostrar la Hora del servidor Firebird en tiempo Real


  • Por favor identifícate para responder
6 respuestas en este tema

#1 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 07 marzo 2010 - 07:46

¿Hay forma de mostrar en tiempo real la Hora del servidor de Firebird?  *-).

Saludos.
  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 07 marzo 2010 - 08:27

Bueno, mientras tanto he colocado lo siguiente en un Timer, lo que no sé si afecta mucho el estar haciendo consulta cada segundo:



delphi
  1. procedure TFMain.tmrRelojTimer(Sender: TObject);
  2. begin
  3. QServerTime.Open;
  4. pnl3.Caption := QServerTimeFECHA.AsString;
  5. pnl4.Caption := QServerTimeHORA.AsString;
  6. QServerTime.Close;
  7. end;



Consulta:



sql
  1. SELECT CURRENT_TIME AS HORA, CURRENT_DATE AS FECHA FROM RDB$DATABASE



Saludos.
  • 0

#3 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 08 marzo 2010 - 07:16

Saludos.

La única manera (por lo menos que conozco) para acceder a la fecha y hora de Firebird pues es esa.  Ahora bien enecumene ¿Para que necesitas mostrarla?.  Yo por lo regular presento la hora de la PC donde corre la aplicación y al momento de guardar pues utilizo la fecha del servidor.

Si te decides por mostrar la fecha del servidor como lo has planteado te recomiendo utilizar Thread para que eso lo haga la aplicación aparte y no te vaya a colgar la aplicación. :)
  • 0

#4 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 08 marzo 2010 - 07:19

Hola Rolphy, porque muchas veces se da el caso en que el reloj de Servidor y la PC sean diferentes, siendo un sistema ponchador, pues si la saco desde la PC pues habrán muchos mal intencionados y decidí sacarlo del servidor de FB. (y).
  • 0

#5 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 08 marzo 2010 - 07:45

Bueno amigo, lamentandolo mucho ese no es tu problema.

Tu problema es que se guarden los registros correctamente, deja que los dueños del sistema, osea a quien se lo instales ponga en hora sus PCs.  ¿Has pensado en que el servidor también puede estar fuera de hora?, entonces después andarás buscando ¿Como conseguir la hora exacta a través del Internet?.

Pues los dueños del sistema deben de poner su seguridad y lo demás, ellos son los encargados de brindarte un ambiente donde funcione de manera adecuada tu sistema.  Es mi parecer.


  • 0

#6 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 08 marzo 2010 - 08:06

Hola.

Yo también solo conozco esta forma de acceder a la hora del Servidor.

Por lo que os propongo una alternativa, a ver que os parece. Cuando arranca la aplicación lanzas esa consulta, y compruebas la diferencia horaria entre el ordenador y el servidor. Ese valor lo dejas en una variable ("Desfase").

Ahora cada vez que quieras mostrar la hora, en lugar de mostrar la hora del Ordenador, muestras la Hora + Desfase.

Por cierto, si la hora la estás mostrando mediante un componente como el RxClock de las RxLib, puedes utilizar eventos como el OnGetTime para incrementar el Desfase a la hora a mostrar.

Naturalmente si la aplicación va a estar encendida muchos días seguidos, al final volveremos a tener problemas de sincronización. Si la aplicación se cierra cada día por la noche y se vuelve a arrancar por la mañana, yo no creo que debas preocuparte, la diferencia horaria que puedas acumular en un solo día es muy pequeña. Si por el contrario, la aplicación no se reinicia periódicamente, entonces puedes añadir un Timer para que, pongamos cada 4 horas, actualice la variable "Desfase" con el valor actual. Siempre será mejor lanzar esa consulta cada 4 horas (o cada hora, cada cuarto de hora, .... cada cuando quieras) que no lanzarla cada vez que quieras mostrar y actualizar el reloj.

Saludos.

  • 0

#7 kafastoforman

kafastoforman

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 277 mensajes
  • LocationMexico D.F.

Escrito 08 marzo 2010 - 09:47

Que tal.

Si utilizas windows, podrias utilizar el windows time server y de esta manera podrias actualizar tanto la hora local del equipo, como la de tu aplicación.

Te dejo el link donde explica como hacerlo

http://support.micro...om/kb/216734/es

Yo no lo he ocupado pero supongo que debe funcionar.

Saludos

Kafastoforman
  • 0




IP.Board spam blocked by CleanTalk.