SQL Server y Asp.Net Ayuda

12/12/2004 - 00:48 por Matias | Informe spam
Una consulta, puede que sea básica.

Tengo un sitio en que quiero en cierto momento dejar una coneccion a SQL
server abierta y empezar a ejecutar sentencias sql durante un tiempo desde
distintas páginas por las que se navega y al final cerrar la coneccion, es
decir que quede una coneccion en forma global.

la idea no es estar abriendo y cerrando la coneccion cada vez que ejecute
una sentencia sql.

gracias de antemano

Preguntas similare

Leer las respuestas

#1 Pablo O. Abbate
12/12/2004 - 01:14 | Informe spam
Hola Matías,
En realidad si utilizas SQL Server, verás que tu idea ya está implementada
directamente por el fabricante.
Existe algo que se denomina Connection Pooling cuya función es mantener un
conjunto de conexiones, de iguales características, siempre abiertas para
que el código las utilice cuando sea necesario.
Si siempre abres la misma conexión, ADO.NET recuperará una conexión
existente de este pool. Como estas conexiones ya estás abiertas, no perderá
el tiempo en validar el usuario, abrir la conexión, etc.
Pero, si decides solo utilizar una conexión global, tendrás que prever el
uso compartido entre varios usuarios (si tu aplicación es Web) lo que puede
dar lugar a colisiones de uso en la conexión.

En este caso, creo que lo mejor es abrir y cerrar la conexión tantas veces
como sea necesario y, solo, mantener abierta dicha conexión el menor tiempo
posible para que pueda ser reutilizada por el resto de los usuarios.
Saludos,

Pablo O. Abbate
MCDBA - MCAD - MCSD - MCT
www.auladat.es


"Matias" escribió en el mensaje
news:
Una consulta, puede que sea básica.

Tengo un sitio en que quiero en cierto momento dejar una coneccion a SQL
server abierta y empezar a ejecutar sentencias sql durante un tiempo desde
distintas páginas por las que se navega y al final cerrar la coneccion, es
decir que quede una coneccion en forma global.

la idea no es estar abriendo y cerrando la coneccion cada vez que ejecute
una sentencia sql.

gracias de antemano


Respuesta Responder a este mensaje
#2 MAXI
12/12/2004 - 16:52 | Informe spam
Hola, en ambientes WEB se recomienda justamente todo lo contrario :(

Deberias cerrar la conexion y tenerla el minimo tiempo abierta posible, para
esto SqlServer dispone de algo llamado Pool de conexiones el cual hara que
no veas degradado la performance.




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar

Msn Messenger:

"Matias" escribió en el mensaje
news:
Una consulta, puede que sea básica.

Tengo un sitio en que quiero en cierto momento dejar una coneccion a SQL
server abierta y empezar a ejecutar sentencias sql durante un tiempo desde
distintas páginas por las que se navega y al final cerrar la coneccion, es
decir que quede una coneccion en forma global.

la idea no es estar abriendo y cerrando la coneccion cada vez que ejecute
una sentencia sql.

gracias de antemano


Respuesta Responder a este mensaje
#3 Marcelo
13/12/2004 - 03:40 | Informe spam
Muy cierto lo que dicen los compañeros.
Lo que yo hago es abrir mi/s conexion/es en el evento LOAD y la/s cierro en
el evento PreRENDER

Marcelo


"Matias" wrote in message
news:
Una consulta, puede que sea básica.

Tengo un sitio en que quiero en cierto momento dejar una coneccion a SQL
server abierta y empezar a ejecutar sentencias sql durante un tiempo desde
distintas páginas por las que se navega y al final cerrar la coneccion, es
decir que quede una coneccion en forma global.

la idea no es estar abriendo y cerrando la coneccion cada vez que ejecute
una sentencia sql.

gracias de antemano


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida