Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Tiempo de conexión a la base de datos (https://www.clubdelphi.com/foros/showthread.php?t=88241)

MAXIUM 05-05-2015 23:05:59

Tiempo de conexión a la base de datos
 
Hola, ¿existe en Firebird algún timer que mantenga las conexiones con la base de datos para un determinado números de horas?

Esto lo pregunto ya que desde un sistema cliente/servidor, las estaciones de trabajo pierden la conexión con la base de datos y deben volver a cerrar y abrir el aplicativo para recuperarla (se conectan y abren la BD cuando arrancan el programa).

No se si me he explicado bien, pero si gustan de más detalles, me prenguntan por favor. Aunque si es un asunto conocido, espero ansioso la respuesta :)

Casimiro Notevi 05-05-2015 23:41:58

La conexión no se cierra nunca. Así que debes tener algo "raro" por ahí.

duilioisola 06-05-2015 09:53:26

Firebird no desconecta a los clientes.
La única forma es enviando la instrucción de shutdown de la base de datos, que desconectará a los usuarios que no sean el SYSDBA.

Deberías guardar un Log de los errores de conexión.
Quizás te de una pista de donde está el error de conexión.

Yo guardaría el mensaje de error en un archivo y lo subiría en la base de datos en la próxima conexión...
Si tienes información de fecha y hora, y las desconexiónes coinciden aproximadamente, podrás ver si en ese mismo momento el servidor está haciendo algo o si la red en ese momento está muy cargada.

MAXIUM 06-05-2015 15:41:41

Me he pillado esto para ver el log de Firebird. Voy a mirar


Casimiro Notevi 06-05-2015 18:17:54

Bueno, aunque puedes mirarlo con cualquier editor de textos.
El log está en el directorio donde tengas instalado firebird, se llama firebird.log
En mi caso está en /opt/firebird/firebird.log

Casimiro Notevi 06-05-2015 18:19:47

Y la lista de códigos de error con su descripción puedes encontrarla en la web de firebird, aquí.

MAXIUM 07-05-2015 00:25:41

Muchas gracias. Siempre son útiles vuestros comentarios.

nlsgarcia 07-05-2015 01:05:11

MAXIUM,

Cita:

Empezado por MAXIUM
...Siempre son útiles vuestros comentarios...

Realmente Casimiro es un Maestro en FireBird v:-)v

Nelson.

Jab 11-05-2015 12:36:18

Cita:

Empezado por MAXIUM (Mensaje 491912)
Hola, ¿existe en Firebird algún timer que mantenga las conexiones con la base de datos para un determinado números de horas?

Esto lo pregunto ya que desde un sistema cliente/servidor, las estaciones de trabajo pierden la conexión con la base de datos y deben volver a cerrar y abrir el aplicativo para recuperarla (se conectan y abren la BD cuando arrancan el programa).

No se si me he explicado bien, pero si gustan de más detalles, me prenguntan por favor. Aunque si es un asunto conocido, espero ansioso la respuesta :)

Comprueba que no tengas instalado algún programa que "desconecte" la conexión a internet cuando pasen unas horas de inactividad. En el programa que has instalado te indica en inglés que varios errores pueden ser causados por una incorrecta configuración del firewall.

O que el antivirus se inicie y bloquee todas las conexiones existentes si están más de X tiempo sin actividad el equipo, o porque cuando está en inactividad, se revisa o actualiza. Algunos antivirus bloquean todas las señales entrantes y salientes.

¿Te sucede en todas las estaciones de trabajo? ¿Se conectan por RDS el usuario o bien se conectan con un ejecutable que tiene configurada la conexión mediante TCP/IP?

Saludos.

MAXIUM 11-05-2015 16:55:42

Revise el log y dice que el equipo se desconecta de la red. Voy a cambiar el switch.

nlsgarcia 11-05-2015 17:40:05

MAXIUM,

Cita:

Empezado por MAXIUM
...las estaciones de trabajo pierden la conexión con la base de datos y deben volver a cerrar y abrir el aplicativo para recuperarla...Revise el log y dice que el equipo se desconecta de la red...Voy a cambiar el switch...

:rolleyes:

Pregunto : ¿Y has considerado que el problema sea la propia estación de trabajo?, ¿El cable de red o la NIC? :confused:

Ciertamente es muy probable que el problema sea de infraestructura de red (Cualquier elemento de la misma), pero si el switch tuviera problemas otras estaciones de trabajo presentarían síntomas similares, una aproximación para acotar el problema sería ir de lo más simple a lo mas complejo.

Espero sea útil :)

Nelson.

ecfisa 11-05-2015 18:38:28

Hola MAXIUM.

El error 'connection reset by peer', 10054 (windows)/104(Linux), indica problemas en la red o también puede indicar que no se ha cerrado correctamente la conexión con el servidor al finalizar la aplicación.

Habría que revisar si el router o el firewal están configurado para cerrar las conexiones después de cierto tiempo de inactividad y la correcta desconexión al salir del programa. Asi como también considerar problemas propios de la red (cableado, fichas, etc).

Algunos enlaces donde se menciona este error:
Saludos :)

Lepe 11-05-2015 20:45:35

Antes de tocar nada.... Desactiva el ahorro de energía de la tarjeta de red. Es lo más común.

panel de control -> sistema -> administrador de dispositivos, tarjeta de red, propiedades y busca eso.

Eso es lo primero que suele estar activado y hace fallar Firebird. También si son portátiles, el tema de ahorro de energía.

Revisa el apagado de los discos duros (más bien en el servidor, aunque se debería reactivar por entrada de datos por la red, nunca está demás desactivar y probar).

Una forma de comprobar si son problemas de red, es poniendo en el escritorio del cliente un acceso directo a un archivo del servidor. Cuando hay corte de red, windows elimina el acceso directo inválido y ahí, sí o sí hay fallos de boca en switch, router o cableado o tarjeta de red.

Suerte en la pesca.. ese tipo de errores tienen premio.


La franja horaria es GMT +2. Ahora son las 15:04:44.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi