FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
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. |
#2
|
|||
|
|||
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. |
#3
|
|||
|
|||
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 17:06:35. |
#4
|
|||
|
|||
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. |
#5
|
||||
|
||||
#6
|
|||
|
|||
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 20:08:23. |
#7
|
|||
|
|||
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. |
#8
|
|||
|
|||
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. |
#9
|
||||
|
||||
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. |
#10
|
|||
|
|||
Fallo de conexión de firebird
Yo suelo tener también es problema. Lo soluciono cambiando el plan de energia del ordenador que hace de servidor poniendolo a alto rendimiento.
Tambien pongo el permiso de la tarjeta de red a false para que el equipo no pueda apagar el dispositivo para ahorrar energia. Espero os sirva tan bien como me sirve a mi. Un saludo. |
#11
|
|||
|
|||
Gracias a todos por los comentarios.
En este caso es necesario mantener la conexión porque el usuario tiende a dejar DBGrid abiertas tras buscar información, y ya no es plan de pasar a ADO la herramienta cliente porque el número de usuarios simultáneos es bastante pequeño (2-10 máximo). Por otro lado he probado lo de Jack, pero nada, creo que el problema está en la configuración o alguna carencia de Windows, ya que no hay cortes en la conexión. He pensado en realizar lo que recomiendan para clientes que precisan tener la conexión activa, que es, si ya no se va puede aplicar ADO, lanzar una rutina de verificación de la conexión https://firebird21.wordpress.com/201...bird-con-wifi/ Pienso que el problema es de hardware del lugar o de configuración de software, ya que en otros lugares no se pierde la conexión y eso que la velocidad es más lenta. |
#12
|
|||
|
|||
Buenas, pues tras varios días haciendo pruebas y demás historias, no he conseguido solucionar el problema del servidor. Desconozco si era un problema de software de la máquina (Windows 7) o de la red que diera algún problema (aparentemente no).
El equipo en red con el software iba bien, en cambio cualquier equipo que se conectara a la base por TCP/IP al cabo de un par de minutos se desconectaba. Incluso metí una rutina para que cada minuto hiciera una verificación de conexión. La conexión la mantenía, el problema era que si un registro estaba abierto, en modo de inserción, o edición, se colgaba, como si se desconectara, y daba ese error, había que cerrar el programa a la brava y volver a entrar. Era inevitable, ya que aunque hiciera una rutina de conexión / desconexión de las tablas en cada momento, si el usuario mientras añadía datos o rellenaba la ficha tardaba 1 minuto, plof, se cerraba. Dejo esto aquí por si alguien le pasara algo parecido y diera con la solución lo indicara, porque en el resto de hilos que vi sobre el tema, al final era un problema de configuración de red, pero no indican más. Aquí la red aparentemente está bien, no hay microcortes (haciendo ping desde remoto), etc. Si no estuviera correctamente el programa en red fallaría igualmente, pero no lo hace. Gracias de todas maneras y saludos varios a todos. |
#13
|
|||
|
|||
conexion FirebirdSql
Queria preguntarte si solucionaste el problema de la desconexion de la base de datos, yo tb tenia el mismo problema solucione con el componente TClientDataSet y DataSetProvider1 que son tablas en memoria.
Saludos |
|
|
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 19:48:34 |
Unable to complete network request to host | tulio | Firebird e Interbase | 8 | 27-02-2013 17:35:59 |
Error de Coneccion (Request BLR) | Onti | Firebird e Interbase | 7 | 21-04-2005 01:52:11 |
Error en IB7 Unable to complete network | eyscom | Firebird e Interbase | 6 | 01-04-2004 03:26:27 |
"Unable to complete..." La conexion se pierde durante la ejecución | ESA | Firebird e Interbase | 2 | 24-03-2004 14:09:49 |
|