Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   FireBird montado en una Máquina Linux (https://www.clubdelphi.com/foros/showthread.php?t=64235)

teletranx 23-03-2009 23:53:11

FireBird montado en una Máquina Linux
 
Saludos a todos.

Mi problema es, que se desconecta el servidor de Base de datos (ip xx.xx.xx.53) en algunos PC clientes.
Tengo una aplicación en tres capas (Delphi 6). FireBird 1.5.5 (Linux): Midas (dbExpress)

La Base de datos esta Montada en una máquina virtual Linux (ip xx.xx.xx.53) que esta en un servidor Linux (ip xx.xx.xx.12).

La Aplicación y las dll's están en un directorio de la Red (en otra máquina virtual de windows). El registro de las dll's es en forma remota.

En algunos PC están registradas las dll en forma local (Están copiadas en el disco local).

En algunas máquinas (tanto las con el registro de las dll local como remota) se pierde la conexión a la base de datos (ip xx.xx.xx.53).
El mensaje es el siguiente.
"Unable to complete network request to host xx.xx.xx.53
Error writing data to the connections
Se ha anulado la conexión establecida por la aplicación en su equipo host"

Hice una rutina para que se conectara nuevamente la base, pero solamente funciona cuando las dll se registran en forma local. En la configuración se pierden registros no grabados

Rutina: Pregunta si esta conectada la base, si es no la reconecta.

Mis preguntas:
1.- La base de datos esta montada en una máquina virtual Linux que esta montada (máquina Virtual) en un servidor Linux. (Empresa Cliente) influye en la desconexión de la aplicación.
2.- Existe otra técnica para no perder los registros en una desconexión en tres capas.

Esperando sus valiosas respuestas y preguntas

JC.:)

AzidRain 24-03-2009 00:21:47

Y para que montar una "maquina virtual" linux encima del propio linux, bastaría con instalar el servidor FB directamente en el linux original y no hay problema. Me huele a que instalaste una distribución encima de otra distinta usando la máquina virtual.

teletranx 24-03-2009 00:31:46

Estimado:
Es que en la empresa cliente lo hicieron temporalmente hace 5 meses y ultimamente la aplicación se desconecta del servidor de base de datos (máquina Virtual).

Tienen que montar la base de datos en un servidor Linux

Saludos :)

P.D.
Conocen alguna rutina de reconexión en tres capas sin perdida de datos

Cheerpipe 29-03-2009 20:54:03

Has verificado si se pierde solo la conexion con el servicio de firebird o si se pierde completamente la coneccion con el servidor??? Si es problema solo de algunos clientes, dudo que sea problema del servidor.

Otra cosa, estan usando IPTABLES? quizas alguna regla gatille la desconeccion.

Otra cosa seria que utilices "connection pool" si es que es soportado por el driver que usas para conectarte, aunque lo dudo. Hasta donde se, la unica forma de reconectarse sin perder datos es si el cliente (ya sea el driver o la aplicacion en si) soporta pooling y algun mecanismo de failover.

Yo uso uniDAC como componentes de conecion, y estos soportan lo que menciono.


La franja horaria es GMT +2. Ahora son las 16:26:01.

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