conexion ado net

04/05/2006 - 19:10 por jboscaroli | Informe spam
Esta pregunta seguramente la han realizado miles de veces...
pero nunca me quedó claro.

respecto a las conexiones sqlclient...
es conveniente cerrar inmediatamente la conexion despues de utlizarla???

por ejemplo
tengo una clase que utiliza una conexion...
es conveniente abrir la misma al crear la clase y cerrala en dispose?

o abrir una conexion y cerrarla en cada metodo que se utilice?


muchas gracias

Preguntas similare

Leer las respuestas

#1 Jesús López
04/05/2006 - 19:21 | Informe spam
La versión corta de la regla es:

Abre la conexión antes de ejecutar sentencias sql
Ciérrala cuando hayas terminado de ejecutar las sentencias.


La versión larga es:

Abre la conexión antes de ejecutar sentencias sql.
Si no sabes cuando vas a necesitar otra vez la conexión o sabes que va a
haber un intervalo de tiempo relativamente grande hasta que la necesites,
entonces ciérrala.
Si sabes que la conexión la vas a necesitar inmediatamente o en un tiempo
relativamente corto, mantenla abierta.

Saludos:

Jesús López






"jboscaroli" escribió en el mensaje
news:%
Esta pregunta seguramente la han realizado miles de veces...
pero nunca me quedó claro.

respecto a las conexiones sqlclient...
es conveniente cerrar inmediatamente la conexion despues de
utlizarla???

por ejemplo
tengo una clase que utiliza una conexion...
es conveniente abrir la misma al crear la clase y cerrala en dispose?

o abrir una conexion y cerrarla en cada metodo que se utilice?


muchas gracias








Respuesta Responder a este mensaje
#2 Jorge Serrano [MVP VB]
04/05/2006 - 21:40 | Informe spam
Hola,

coincido con Jesús.

No existe una regla fija que diga que es mejor ni que es peor.
Depende de las necesidades que tengas, el proyecto, las acciones que se
pueden dar, etc.

A veces puedes encontrarte con un proyecto en el que es mejor tener una
conexión abierta durante todo el tiempo o durante un largo tiempo, y en otras
ocasiones, la conexión conviene abrirla y cerrarla cuando se va a usar.

En general, la conexión debe usarse cuando se va a necesitar y cerrar al
finalizar las acciones que se van a llevar a cabo, pero indudablemente, la
conexión es la acción y tarea más pesada y dependiendo de nuestras
necesidades, conviene a veces dejar esa conexión abierta.

Sin extenderme más y lamento no responder de forma concisa, debo decir que
depende de tus necesidades.

Un saludo.

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Blog de Jorge Serrano
http://geeks.ms/blogs/jorge/default.aspx


"jboscaroli" wrote:

Esta pregunta seguramente la han realizado miles de veces...
pero nunca me quedó claro.

respecto a las conexiones sqlclient...
es conveniente cerrar inmediatamente la conexion despues de utlizarla???

por ejemplo
tengo una clase que utiliza una conexion...
es conveniente abrir la misma al crear la clase y cerrala en dispose?

o abrir una conexion y cerrarla en cada metodo que se utilice?


muchas gracias









Respuesta Responder a este mensaje
#3 Eduardo Alvarado Meza
05/05/2006 - 08:01 | Informe spam
Esto es bien interesante y hasta me lo han preguntado a mi tambien varios
compañeros, por lo general en el VB2005, con todos estos asistentes, cada
cosita tiene su propia conexion, por ejemplo los adaptadores del dataset
tipado.

Mi pregunta es se podria decir que la logica que emplean algunos
sistemas de abrir la conexion al principio de la ejecucion y cerrarla al
final de la aplicacion, manteniendola abierta todo la vida del programa
donde todas las operaciones fluyen unicamente por esa conexion no es tan
mala idea? Es decir, absolutamente todo fluye por una unica conexion.
Respuesta Responder a este mensaje
#4 DosFlores
05/05/2006 - 08:15 | Informe spam
En ADO que se utiliza en VB6 no es mala idea tenerlo abierto ya que trabajas
con recordsets conectados a tu bd, en ADO. NET eso cambia, la idea es
trabajar con datos desconectados de la bd, tienes un artículo del Guille en
el dotNetMania del mes de Abril donde empieza una serie para ADO.NET que es
bastante interesante, además tienes los Microsoft Patterns & Practices donde
también lo explican perfectamente, para .NET tienes lo siguiente:
http://msdn.microsoft.com/practices...l/daag.asp

Un saludo
Oscar Montesinos
"Eduardo Alvarado Meza" <ealvarado_15@(eliminarestetexto)hotmail.com>
escribió en el mensaje news:
Esto es bien interesante y hasta me lo han preguntado a mi tambien varios
compañeros, por lo general en el VB2005, con todos estos asistentes, cada
cosita tiene su propia conexion, por ejemplo los adaptadores del dataset
tipado.

Mi pregunta es se podria decir que la logica que emplean algunos
sistemas de abrir la conexion al principio de la ejecucion y cerrarla al
final de la aplicacion, manteniendola abierta todo la vida del programa
donde todas las operaciones fluyen unicamente por esa conexion no es tan
mala idea? Es decir, absolutamente todo fluye por una unica conexion.

Respuesta Responder a este mensaje
#5 jboscaroli
05/05/2006 - 14:26 | Informe spam
la conexion se debe cerrar con close y mantener el objeto sqlconnection
creado o es lo mismo destruir el objeto sqlconnection y volver a crearlo
cuando se necesite??



"DosFlores" escribió en el mensaje
news:#
En ADO que se utiliza en VB6 no es mala idea tenerlo abierto ya que


trabajas
con recordsets conectados a tu bd, en ADO. NET eso cambia, la idea es
trabajar con datos desconectados de la bd, tienes un artículo del Guille


en
el dotNetMania del mes de Abril donde empieza una serie para ADO.NET que


es
bastante interesante, además tienes los Microsoft Patterns & Practices


donde
también lo explican perfectamente, para .NET tienes lo siguiente:



http://msdn.microsoft.com/practices...rary/en-us
/dnbda/html/daag.asp

Un saludo
Oscar Montesinos
"Eduardo Alvarado Meza" <ealvarado_15@(eliminarestetexto)hotmail.com>
escribió en el mensaje news:
> Esto es bien interesante y hasta me lo han preguntado a mi tambien


varios
> compañeros, por lo general en el VB2005, con todos estos asistentes,


cada
> cosita tiene su propia conexion, por ejemplo los adaptadores del dataset
> tipado.
>
> Mi pregunta es se podria decir que la logica que emplean algunos
> sistemas de abrir la conexion al principio de la ejecucion y cerrarla al
> final de la aplicacion, manteniendola abierta todo la vida del programa
> donde todas las operaciones fluyen unicamente por esa conexion no es tan
> mala idea? Es decir, absolutamente todo fluye por una unica conexion.
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida