2012-04-05 12 views
11

Antecedentes: traslado mi aplicación de mssql a npgsql v2.0.11.92. Después de unos minutos u horas de ejecutar mi aplicación, obtengo un System.Exception: Timeout mientras obtengo una conexión desde el grupo.Npgsql: Tiempo de espera al obtener una conexión del grupo

Estoy usando la versión de lib 2.0.11.92 en el entorno x86 en la plataforma x64. Todas las conexiones se cierran y se eliminan en último bloque a más tardar, pero después de un tiempo, recibo el error. Por lo tanto, debería ser un problema de la biblioteca Npgsql.

En mi aplicación, hay muchas consultas sucediendo en el fondo cada pocos segundos, pero la mayoría de las veces, solo se ejecutan secuencialmente, no en paralelo.

Mi cadena de conexión utilizada es: SERVIDOR = mydbserver; MinPoolSize = 3; MaxPoolSize = 15; ConnectionLifeTime = 7; BASE DE DATOS = Prueba DB; UID = usuario; PWD = pasan

Estoy tratando de diagnosticar fugas conexiones postgres en npgsql.

FYI: La biblioteca Npgsql ya tenía un problema de fuga que se ha corregido en la última versión 2.0.11.92. Pero aún hay algunos problemas, supongo.

¿Alguien ha tenido problemas similares con la versión actual de la biblioteca (npgsql v2.0.11.92)?

+0

Este problema todavía existe? Uso la versión 2.0.14.3 y también obtuve este error. – IvanP

+0

tengo el mismo problema: en mi caso resulta que no estaba cerrando la conexión en todas las rutas de código. – docesam

Respuesta

10

Tuve el mismo problema. La solución es desactivar la agrupación de conexiones. Esto se hace en la cadena de conexión antes de conectarse a la base de datos de su aplicación de C#

En la cadena de conexión:

Pooling=false; 
+6

Desactivar la agrupación de conexiones no es exactamente una solución. Vamos a llamarlo solución. – IvanP

+0

Si se apaga, puede funcionar, todavía es necesario averiguar por qué la agrupación de conexiones no funciona. – Cody

+0

Entonces, ¿por qué la solución funcionó? –

Cuestiones relacionadas