Buenos días, con respecto al tema me ha ocurrido trabajando con ODP.NET (Oracle) que los administradores de bases de datos criticaban las “sesiones inactivas” que dejaba nuestra aplicación. Para solucionar dicho inconveniente en el Conexión String adicionamos la sentencia “;Pooling=False” esto elimino las sesiones inactivas, dejando conformes a los DBA y sin tener perdida de respuesta por parte de nuestra aplicación. Saludos.
From: claudia.alm...@gmail.com Date: Mon, 4 Oct 2010 10:23:02 -0300 Subject: [puntonet] Connection Pool To: puntonet@mug.org.ar ahhhh mira vos!,ok a ver si entendí entonces... así que no queda nada desde mi lugar para que yo pueda administrar esas CP? Atte. Almeda Claudia. A ntes de imprimir, piense en su responsabilidad y compromiso con el Medio Ambiente El 4 de octubre de 2010 10:16, Daniel Calvin <daniel.cal...@gmail.com> escribió: Hola Claudia Te abrirá 10 si es el tamaño mínimo del pool, si no abrira de a una. El aprovechamiento lo hace directamente asp.net, cuando cerras una conexión no la cierra, la deja abierta, si llega otro pedido de conexion para el mismo conection string aprovecha una de esas conexiones que para vos ys estaba cerrada. Saludos Daniel. El 4 de octubre de 2010 10:04, Claudia Almeda <claudia.alm...@gmail.com> escribió: Hola Diego, A mi me intereso mucho el tema, ya que tampoco entiendo como es eso de las CP. Ahora por lo que leí (de lo que escribiste), me quedaron algunas dudas que de seguro son básicas... Supongamos en una aplicación que utiliza asp.net, tengo varios sitios en el código donde se abre una conexión a Sql Server, bien... por cada una de esos 'open' vos decís que en realidad se abren 10 conexiones?, y si así fuera... que y como debería utilizar para aprovechar esas conexiones? Gracias Diego. Atte. Almeda Claudia. A ntes de imprimir, piense en su responsabilidad y compromiso con el Medio Ambiente El 2 de octubre de 2010 21:28, Diego Jancic <jan...@gmail.com> escribió: Hola Oscar, Hace tiempo que no participo en estas listas, asi que voy a escribir algo... ya lo extraño :-) Abrir y cerrar una conexion es costoso, por eso existen los Connection Pools.... Un CP es basicamente una lista de conexiones abiertas a un server, te doy un ejemplo: -- cuando vos te conectas a un SQL Server por primera vez, se crean 10 conexiones (no una sola!). Asi, cuando se abren mas de una conexion simultaneamente, se utilizan una de esas 10 conexiones para acceder al sql server. A medida que haya mas y mas clientes simultaneos, y esas 10 no alcancen, se van a abrir nuevas para que todos los clientes se puedan conectar. Los connection pools tienen en general 2 opciones: Min Connections y Max Connections. El primero es la cantidad inicial de conexiones que se crean. Deberias configurar el MIN al menos como la cantidad de conexiones que seguro vas a tener simultaneas. El MAX es la cantidad obviamente la cantidad maxima que se pueden abrir en el pool. Una vez que tenes 100 (por ejemplo) conexiones abiertas en el mismo momento, si pedis otra vas a tener un error. En ADO.NET existe un connection pool por cada connection string *exactamente* igual. Es decir que si vos tenes: "server=asd;user id=sa;pwd=123" y tenes: "user id=sa;pwd=123;server=asd" (los parametros son los mismos pero estan en otro orden) eso te va a crear 2 connection pools diferentes. Saludos, Diego 2010/10/2 Oscar Onorato <oscar.onor...@gmail.com> Holas c...@s, Les molesto para saber si me pueden recomendar algún sitio donde expliquen lo que es una "Connection Pool" en ADO.NET. No llego a comprender muy bien porqué debe existir algo así en una sola conexión. Aunque desearía saberlo. Muchas gracias -- Oscar R. Onorato -- Daniel A. Calvin Cooperator Team Member http://www.cooperator.com.ar Microsoft Certified Professional