Estoy tratando de hacer una inserción con una cantidad potencialmente grande de datos binarios en una base de datos remota de Oracle (11g) utilizando Entity Framework (ODP.Net). Funciona bien para archivos muy pequeños (< 5 KB), pero para los más grandes (por ejemplo, 44 KB) me aparece un error: "ORA-03135: contacto perdido de conexión"."ORA-03135: contacto perdido de conexión" al insertar un archivo grande
No creo que sea el tiempo de espera, ya que la excepción ocurre dentro de un segundo de ejecutar el comando.
Intenté fijar las dos acciones siguientes en mi cadena de conexión, pero en vano:
Validate Connection=true
Pooling=false
También busqué en el archivo listener.log
en la máquina remota. Muestra las conexiones que se están realizando, pero no hay signos de excepciones o conexiones terminadas.
Estoy a la espera de soluciones sugeridas o métodos de solución de problemas.
Editar:
El mismo SQL operaciones funcionan cuando se accede a una instancia de Oracle en la red local.
Bueno, tal vez no es eso, pero tuve el "ORA-03135: contacto perdido de conexión" en cosas raras cuando la conexión no se perdió en absoluto. que Oracle ya no era capaz de tragar la declaración SQL enviada. Lo obtuve en grandes consultas (> 2000 líneas de código). Quizás te estoy enviando por el camino correcto, pero después de 4 horas sin respuesta, al menos podría contarte ese fragmento de mi propia experiencia. Para mí, parecía que el mensaje siempre aparece cuando el analizador del comando SQL se colgaba en el fondo. – hol
Puede valer la pena verificar el registro de alertas en la máquina remota para ver si eso reportó un error. Si no, tal vez apunta a que el problema está en el extremo del cliente, no en el servidor. Además, ¿hay algún firewall en el camino, o cualquier otra cosa a nivel de red que pueda tener registros que pueda verificar? –
Un registro de red sería útil. El firewall no está activado y es un servidor de Windows que aloja Oracle. No estoy seguro de dónde se registra el tráfico TCP en una máquina con Windows, pero es posible que deba descubrirlo. –