Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-06-2016
Jab Jab is offline
Miembro
 
Registrado: feb 2008
Posts: 83
Poder: 0
Jab cantidad desconocida en este momento
Error Unable to complete network request

Buenos días:

He leído la guía del estilo y buscado la información, pero no he encontrado más que uno del 2005 pero no hay solución ¿?
http://www.clubdelphi.com/foros/showthread.php?t=17785

El problema es el siguiente:
Tengo una aplicación que en local trabaja correctamente, en red local con TCP/IP también, sin cortes ni nada, pero cuando se conecta por TCP/IP a una dirección IP fija remota y está inactivo 5 o 10 minutos aparece el mensaje de error

Unable to complete network request to host "XXXXX"
Error writing data to the connection

siendo XXXX una IP fija.

Los equipos tienen todos Windows 7. El firebird instalado es la versión 2.5.5.26952 en modo SuperServer.

He encontrado en foros y en todos ellos aportan como solución el bloqueo del firewall del puerto 3050, o configurar el host

He configurado las excepciones, he dejado incluso sin firewall ni antivirus el equipo por si fuera algo de esto. Sigue sucediendo el problema.

También he revisado el fichero c:\windows\system32\drivers\etc\hosts y añadido la IP fija también.
Hice todas las actualizaciones de Windows 7.

El número de conexiones simultáneas a la base son:
1 Local
1 En red local
2 En red remota.

¿Alguna idea que pueda hacer o efectuar?
Muchas gracias de antemano.
Responder Con Cita
  #2  
Antiguo 09-06-2016
aposi aposi is offline
Miembro
 
Registrado: dic 2006
Posts: 149
Poder: 18
aposi Va por buen camino
Mantienes abierta la conexión a la base de datos o conectas cada vez que necesitas alguna cosa?
Si mantienes abierta la conexión y la linea de internet tiene microcortes, pierdes la conexión y aparece este error.
Responder Con Cita
  #3  
Antiguo 09-06-2016
Jab Jab is offline
Miembro
 
Registrado: feb 2008
Posts: 83
Poder: 0
Jab cantidad desconocida en este momento
Hola, la conexión del servidor tiene fibra a 400 Mb, y los clientes fibra a 200 Mb.
He realizado un ping y no hay microcortes al menos desde el servidor hacia fuera y de los dos equipos que se desconectan hacia fuera.
La aplicación abre la base de datos y mantiene abierta

Si hubiera cortes ¿no se desconectaría también en red local?

He probado el sistema en otro servidor con Windows 2003 y con un equipo de Windows 10 y no hay desconexión.

Por otro lado, he buscado "firebird y microcortes" y resulta que en esta ocasión el buscador de Clubdelphi.com me aparece este hilo

http://www.clubdelphi.com/foros/showthread.php?t=82425

Antes busqué por esas palabras y nada.

En cualquier caso, he realizado todo lo que se indica ahí, incluso http://www.firebirdfaq.org/faq136/

Disculpadme, ahora no puedo borrar el hilo.

Última edición por Jab fecha: 09-06-2016 a las 18:06:35.
Responder Con Cita
  #4  
Antiguo 09-06-2016
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 19
bitbow Va camino a la fama
Que operaciones realizas?

Yo realizo conexiones de este tipo de la siguiente formas

Envia info cuando el usuarios da click en el boton A >>
Abro conexión
Inserto informacion en la bd;
Cierro Conexión;

El punto es que no tienes por que tener la conexion abierta todo el tiempo y dependiendo de la informacion que requieras intercambiar con el servidor podrias usar un servidor DataSnap o WebService.

Saludos.
__________________
¡Ni como ayudarte Niño!!
bitbow
Responder Con Cita
  #5  
Antiguo 09-06-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Jab Ver Mensaje
Disculpadme, ahora no puedo borrar el hilo.
¿Por qué quieres borrarlo?

¿Seguro que has visto esto?
Responder Con Cita
  #6  
Antiguo 09-06-2016
Jab Jab is offline
Miembro
 
Registrado: feb 2008
Posts: 83
Poder: 0
Jab cantidad desconocida en este momento
He mirado otras cosas:
Por lo visto el programa cliente accede a una ruta mediante asignación DHCP con IP asignada automáticamente y tiene el puerto 3050 bloqueado. Aunque se conecta al servidor con el programa.

Y servidor no tiene la IP pública aunque el software puede conectarse a esa IP hasta que temporalmente se desconecta.

He asignado una IP local al ordenador de conexión y he pedido que se abra el puerto 3050 dirigido a la IP de cada equipo remoto con su proveedor de acceso a Internet y también que se mantenga la IP pública, siguiendo los consejos de http://www.firebirdfaq.org/faq136/

También me he guiado con esta entrada -> https://firebird21.wordpress.com/tag/puerto/ que hablan de la IP pública.

Mañana os cuento si toda esta configuración ha funcionado.


bitbow muchas gracias por tu respuesta, las conexiones que utiliza son cliente-servidor usando TIBDataSet con campos persistentes. Desconozco el tema que me indicas de DataSnap o WebService. Pero estoy de acuerdo contigo en que debo cambiar algo de las rutinas para que sean accesos concretos o más robusto ante errores.

Casimiro Indiqué lo de borrarlo o unirlo al anterior antiguo porque puede perjudicar al foro tener dos hilos duplicados, era por eso. Que no había visto el otro hilo. No obstante, gracias también por tu aportación. Lo he visto, pero el equipo que hace de servidor tienen Windows 7. No es un servidor "real" como en el de pruebas con windows 2003 o en otros equipos con windows 2008, que sí funciona correctamente y no hay cortes.


Conclusiones: salvo porque en el entorno de pruebas tenemos un Windows 2003 (servidor) con Windows 10 como cliente, y en el que da problemas son los dos Windows 7, ahora están iguales. Es decir, puestos con IP fija pública y el 3050 habilitado en todos los routers con una IP local asignada fija, no dinámicamente para los equipos clientes.

Última edición por Jab fecha: 09-06-2016 a las 21:08:23.
Responder Con Cita
  #7  
Antiguo 10-06-2016
Jab Jab is offline
Miembro
 
Registrado: feb 2008
Posts: 83
Poder: 0
Jab cantidad desconocida en este momento
Buenas, el problema sigue apareciendo.

Con un equipo con Windows 2003 y Windows 10 como cliente, va todo correcto, no hay error ni desconexión.
Con un equipo con Windows 7 como servidor y Windows 7 como cliente, aparece el error al cabo de varios minutos.

He probado en desactivar el firewall, y los clientes no tienen antivirus como el servidor, pero el problema se mantiene.

Así que he procedido a instalarle en uno de los equipos con problemas un antivirus y dejar el firewall activado. Además, he añadido lo que comenta Casimiro http://www.intitec.com/varios/Firebi...50-win2003.pdf como puerto reservado, aunque sea para Windows 7.

Pero nada, sigue dando problemas. No sé qué más hacer.
Responder Con Cita
  #8  
Antiguo 10-06-2016
Jab Jab is offline
Miembro
 
Registrado: feb 2008
Posts: 83
Poder: 0
Jab cantidad desconocida en este momento
Bueno, más cosillas, sigo actualizando el hilo por si alguno le resuelve en el futuro.

Por más que leo observo que todos aportan como solución un problema de la red, existe el archivo LOG encontrado por ejemplo en
C:\Archivos de Programa\Firebird\Firebird_2_5\)

https://firebird21.wordpress.com/201...rchivo-de-log/

En mi caso en el lado del cliente dice

INET/inet_error: read errno = 10054
INET/inet_error: read errno = 10038

En el lado del servidor
SERVER (Server) Thu Apr 14 17:29:34 2016
Unable to complete network request to host "server".
Timeout occurred while waiting for a secondary connection for event processing

Y luego

SERVER (Server) Thu Jun 09 19:10:59 2016
INET/inet_error: read errno = 10054

SERVER (Server) Thu Jun 09 19:14:11 2016
INET/inet_error: read errno = 10054

SERVER (Server) Thu Jun 09 19:22:02 2016
INET/inet_error: read errno = 10054

SERVER (Server) Thu Jun 09 19:27:32 2016
INET/inet_error: read errno = 10054

SERVER (Server) Thu Jun 09 19:30:33 2016
INET/inet_error: read errno = 10054

Que corresponde con
https://firebird21.wordpress.com/201...-104-en-linux/

Indica que
"El error 10054 “connection reset by peer” es un problema de la red que a veces puede deberse a una red que está mal configurada o a un problema de hardware. "

Por lo que parece existen routers que cierran el puerto por inactividad, y al parecer ese no es el problema según el proveedor de acceso a Internet porque su router no cierra la actividad si no hay tráfico.

He revisado la red varias veces pero no encuentro fallo.
Responder Con Cita
  #9  
Antiguo 10-06-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Usas post_event en algún caso?
Responder Con Cita
  #10  
Antiguo 10-06-2016
Jab Jab is offline
Miembro
 
Registrado: feb 2008
Posts: 83
Poder: 0
Jab cantidad desconocida en este momento
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Usas post_event en algún caso?
Hola Casimiro, gracias por tu aportación. No se utilizan estos eventos en la base.
No obstante, con la base de datos remota y otros casos no hay desconexiones, esto es lo raro.
¿Por qué lo preguntas?
Responder Con Cita
  #11  
Antiguo 10-06-2016
Jab Jab is offline
Miembro
 
Registrado: feb 2008
Posts: 83
Poder: 0
Jab cantidad desconocida en este momento
No lo indiqué, este problema ha empezado al poner la aplicación en este sistema en remoto y fue hace 3-4 días. El mensaje de error del 14 de Abril debe corresponder a algún otro suceso guardado en el log pero no con este problema.

He creado una conexión a la máquina que hace de servidor donde está la base de datos, y lo hago desde un entorno de pruebas y se desconecta también, puedo descartar que el problema sea de las máquinas clientes remotas, puede ser del servidor. Pero en el log de la máquina cliente no aparece este error, lo acabo de comprobar.

Utilizando otra aplicación lo dejas sin hacer nada, al cabo de unos minutos aparece
"Error reading data from connection". Y ya cierra el programa con errores.

En el log no aparece este fallo ni read errno 10054 ni nada.

He conectado el IBExpert v 2016.4.4.1 a la base remota, y dejado sin efectuar ninguna acción durante unos minutos, y se desconecta indicando:

"Cant't format message 13:98 -- message file C:\windows\systema32\firebird.msg not found. Error reading data from connection. Connection will be closed immediately".

Creo que puedo descartar problema de Software.
Responder Con Cita
  #12  
Antiguo 10-06-2016
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 19
bitbow Va camino a la fama
Es muy raro el error que se te presenta, como te indicó arriba, por que tendrías que dejar tu conexión abierta después de un proceso de lectura o escritura? En mi caso realizó inserciones a la base de datos de forma remota pero abro y cierro la conexión, mi conexión no se queda abierta más de 10 segundos en el peor de los casos.

Los componentes de bases de datos tienen eventos en donde puedes gestionar (con bastantes limitaciones) estos errores.

Saludos.
__________________
¡Ni como ayudarte Niño!!
bitbow
Responder Con Cita
  #13  
Antiguo 10-06-2016
Jab Jab is offline
Miembro
 
Registrado: feb 2008
Posts: 83
Poder: 0
Jab cantidad desconocida en este momento
Nueva prueba:
Arranco la aplicación IBExpert anterior, conecto a la BD remota y la minimizo. Acto seguido realizo un ping XX.XX.XX.XX /t
Aunque ya se hizo esto con anterioridad y no había paquetes perdidos, es una manera de comprobar si manteniendo el tráfico en la red el equipo servidor desconecta la conexión o no. Aunque el proveedor de acceso a Internet confirmó que no existía ningún firewall del router que cerrara el puerto 3050 por inactividad.

Al cabo de unos minutos se desconecta dando el mismo error anterior.

Realizo un ping -t -l 51200 XX.XX.XX.XX por si es el problema del tamaño de los paquetes por ejemplo. Al cabo de 2 minutos no hay paquetes perdidos.

Responder Con Cita
  #14  
Antiguo 10-06-2016
Jab Jab is offline
Miembro
 
Registrado: feb 2008
Posts: 83
Poder: 0
Jab cantidad desconocida en este momento
Cita:
Empezado por bitbow Ver Mensaje
Es muy raro el error que se te presenta, como te indicó arriba, por que tendrías que dejar tu conexión abierta después de un proceso de lectura o escritura? En mi caso realizó inserciones a la base de datos de forma remota pero abro y cierro la conexión, mi conexión no se queda abierta más de 10 segundos en el peor de los casos.

Los componentes de bases de datos tienen eventos en donde puedes gestionar (con bastantes limitaciones) estos errores.

Saludos.
Hola bitbow, gracias por tu aportación.
Observa que uso el IBExpert y también sucede ¿Lo que indicas es que abra y cierre la base de datos completa por cada vez que hago una inserción?
Responder Con Cita
  #15  
Antiguo 10-06-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Prueba desde otro sitio, por ejemplo desde tu casa u otro sitio que puedas controlar y que existan los mínimos "obstáculos" entre tú y el servidor.
Responder Con Cita
  #16  
Antiguo 10-06-2016
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 19
bitbow Va camino a la fama
Comentaba anteriormente una duda, que operaciones realizas sobre la base de datos? Y por qué es necesario tener abierta la conexión (cuanto tiempo aproximado.) ?.

La verdad nunca he necesitado ma tener una conexión remota más de algunos minutos, para las conexiones de mis portales (en delphi con intraweb) se maneja un pool de conexiones y no presentó problemas (la conexión se abre 30 min ) pero es un esquema diferente.

Puedes revisar instalando otras versiones de firebird, y antes de eso revisar la configuración de este a fondo.

Harea algunas pruebas para ver si sucede los mismo.

Suerte, saludos.
__________________
¡Ni como ayudarte Niño!!
bitbow
Responder Con Cita
  #17  
Antiguo 10-06-2016
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 19
bitbow Va camino a la fama
Si, efectivamente, realmente te muchos creen que esto es algo fuera de lo usual, pero cuando trabajas en ambientes remotos (Internet), así es como se trabaja o con un pool de conexiones, no abres toda la base de datos sólo la conexión (la carga la maneja el servidor no tu aplicación), imagínate tener abierta una conexión por horas o días, esto si sería descabellado a menos que realmente uses esas conexiones todo ese tiempo.

Saludos.
__________________
¡Ni como ayudarte Niño!!
bitbow
Responder Con Cita
  #18  
Antiguo 10-06-2016
Jab Jab is offline
Miembro
 
Registrado: feb 2008
Posts: 83
Poder: 0
Jab cantidad desconocida en este momento
Hola de nuevo compañeros, y gracias por vuestras aportaciones.

Casimiro, ya lo había probado antes, pero volví a hacerlo desde mi casa con Windows 10 cliente y servidor windows 2003, y va perfectamente. Puede estar parado 40 minutos con la conexión abierta y al pasar el foco al programa, retoma todo correctamente y no se desconecta, como cabía esperar.

Bitbow, el programa es cliente-servidor y son unas 120 tablas, el módulo activado son unas 20 tablas, normalmente las conexiones remotas no dan problemas y pueden estar horas conectados sin fallo, con bases de 4 o 5 millones de registros en una tabla y concurrencia de 10-12 personas por ejemplo. En este en concreto son unos miles de registros nada más. Abrir la base y las tablas cada vez que hago una inserción lo veo poco viable porque tarda unos 10-12 segundos, es más robusto pero más lento.

Creo que el error viene del servidor.

Desde mi casa también se desconecta a ese equipo

La semana que viene vamos a cambiar el equipo que hace de servidor a ver si es del equipo o de su router u otro software que esté merodeando.

Parece claro que aunque el software es mejorable y se podría gestionar de otra manera como apunta Bitbow, podría deberse a algo puntual de la red en software o hardware.

Os iré contando y al final cuál fue la solución.
Responder Con Cita
  #19  
Antiguo 10-06-2016
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 19
bitbow Va camino a la fama
Creo que convendría revisar tu esquema para la consulta de información (es complicado manejar ese volumen e información en tiempo real), una recomendación seria manejar tablas temporales o clientdataset y posteriormente aplicar los cambios o migrar a un esquema con datasnap.

Hay un tema (debate) reciente que trata de que esquemas manejar y como se podría hacer de la mejor manera en un ambiente en internet, se plantean algunas buenas practicas y otras no tanto, no encuentro el tema pero lo vi en el listado reciente.

Como mencionas >> Revisar la infraestructura e red y el servidor para poder garantizar conectividad y estabilidad.

La realidad es que con los mejores enlaces y hardware si no planteamos bien el esquema a utilizar, una caída del enlace en algún punto podría suponer detener el trabajo por horas.

Saludos y suerte.
__________________
¡Ni como ayudarte Niño!!
bitbow
Responder Con Cita
  #20  
Antiguo 12-06-2016
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Eso de mantener las conexiones abiertas te va a causar algunos de dolores de cabeza por decir muchos.

Enviado desde mi SM-G900H mediante Tapatalk
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Unable to complete network request to host 'xxxx' gluglu Conexión con bases de datos 10 08-03-2013 20:48:34
Unable to complete network request to host tulio Firebird e Interbase 8 27-02-2013 18:35:59
Error de Coneccion (Request BLR) Onti Firebird e Interbase 7 21-04-2005 02:52:11
Error en IB7 Unable to complete network eyscom Firebird e Interbase 6 01-04-2004 04:26:27
"Unable to complete..." La conexion se pierde durante la ejecución ESA Firebird e Interbase 2 24-03-2004 15:09:49


La franja horaria es GMT +2. Ahora son las 02:59:09.


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
Copyright 1996-2007 Club Delphi