Pido Consejo Sobre Abrir Conexiones ADO

02/07/2003 - 20:08 por Grupo Bandera Vivar | Informe spam
Hola Grupo:

Os pido consejo sobre la siguente cuestion:

Tengo Hecha una aplicacion con continuos accesos a datos en multiples
formularios y rutinas, con acceso a Datos en SQL Server,ACCES y a datos
nativos COBOL a traves de ODBC, la aplicacion es utilizada por unos 70
usuarios en Red (Terminal Server).

Yo actualmente abro las conexiones a datos al inicializar la aplicacion
y las mantengo abiertas hasta que se cierra la aplicacion.

La cuestion es ¿ Seria mas correcto abrir una conexion cada vez que
tengo que acceder a datos y luego cerrarla ?, esto me llevaria a escribir
mucho codigo y el peligro de dejarme conexiones abiertas

Si alguien me puede aconsejar se lo agradezco.

Gracias.

Preguntas similare

Leer las respuestas

#6 Sashka
04/07/2003 - 16:18 | Informe spam
Precisamente... porque hay usuarios que abren el programa y se van a
alamorzar... es que no se debe mantener conexiones abiertas
innecesariamente..

Por otra parte, si utilizo componentes o Dlls, y no puedo compartir la
conexion principal, abro y cierro las conexiones en cada proceso...



Y menos cuando además de la conexión abierta (y sin uso)... abres y cierras
otras ¿?

Sashka

"Antonio Gómez" escribió en el mensaje
news:
Yo trabajo con un ERP, que abre una conexion que comparte con los


distintos
modulos del programa.
Esta conexion se cierra cuando se finaliza la ejecucion del programa. Esto


a
veces crea problemas de licencias de usuario ya que es muy usual que un
usuario inicie el programa y no lo cierre hasta que finalice su jornada.
Sin embargo, en la base de datos SQL Server hay una opcion para limitar el
tiempo de inactividad de una conexion, con lo que excedido este tiempo la
conexion se cierra. El problema es que no la encuentro en SQL Server 2000
(Hasta hace poco utilizaba SQL 6.5, y este parametro estaba en las
propiedades del servidor)

Por otra parte, si utilizo componentes o Dlls, y no puedo compartir la
conexion principal, abro y cierro las conexiones en cada proceso...

Saludos
"Grupo Bandera Vivar" escribió en el


mensaje
news:
> Hola Grupo:
>
> Os pido consejo sobre la siguente cuestion:
>
> Tengo Hecha una aplicacion con continuos accesos a datos en


multiples
> formularios y rutinas, con acceso a Datos en SQL Server,ACCES y a datos
> nativos COBOL a traves de ODBC, la aplicacion es utilizada por unos 70
> usuarios en Red (Terminal Server).
>
> Yo actualmente abro las conexiones a datos al inicializar la
aplicacion
> y las mantengo abiertas hasta que se cierra la aplicacion.
>
> La cuestion es ¿ Seria mas correcto abrir una conexion cada vez que
> tengo que acceder a datos y luego cerrarla ?, esto me llevaria a


escribir
> mucho codigo y el peligro de dejarme conexiones abiertas
>
> Si alguien me puede aconsejar se lo agradezco.
>
> Gracias.
>
>


Respuesta Responder a este mensaje
#7 Antonio Gómez
07/07/2003 - 17:15 | Informe spam
Sashka: Estoy indicando en mi respuesta que hay un parametro en SQL Server
para cerrar conexiones ociosas.
En cualquier caso, no existe problema alguno por mantener una conexion
abierta el tiempo que haga falta. El consumo de una conexion es minimo.
En cuanto a las conexiones desde Dll, pues se puede conectar tantas veces
como haga falta, sin mas. No hay mas limite que el que marque los recursos
de servidor y PC.
Si abro y cierro las conexiones desde la Dll es por que son procesos
separados que se pueden ejecutar muchas veces, por lo que si que es
recomendable no dejar conexiones abiertas cada vez que finalizas una
instancia a una libreria. Otra posibilidad es "pasarle" la conexion del
programa ejecutable a la libreria, tal y como sugiero en mi respuesta.

Si tienes alguna duda mas, estoy a tu disposicion

Saludos
Antonio Gomez

"Sashka" escribió en el mensaje
news:
Precisamente... porque hay usuarios que abren el programa y se van a
alamorzar... es que no se debe mantener conexiones abiertas
innecesariamente..

> Por otra parte, si utilizo componentes o Dlls, y no puedo compartir la
> conexion principal, abro y cierro las conexiones en cada proceso...

Y menos cuando además de la conexión abierta (y sin uso)... abres y


cierras
otras ¿?

Sashka

"Antonio Gómez" escribió en el mensaje
news:
> Yo trabajo con un ERP, que abre una conexion que comparte con los
distintos
> modulos del programa.
> Esta conexion se cierra cuando se finaliza la ejecucion del programa.


Esto
a
> veces crea problemas de licencias de usuario ya que es muy usual que un
> usuario inicie el programa y no lo cierre hasta que finalice su jornada.
> Sin embargo, en la base de datos SQL Server hay una opcion para limitar


el
> tiempo de inactividad de una conexion, con lo que excedido este tiempo


la
> conexion se cierra. El problema es que no la encuentro en SQL Server


2000
> (Hasta hace poco utilizaba SQL 6.5, y este parametro estaba en las
> propiedades del servidor)
>
> Por otra parte, si utilizo componentes o Dlls, y no puedo compartir la
> conexion principal, abro y cierro las conexiones en cada proceso...
>
> Saludos
> "Grupo Bandera Vivar" escribió en el
mensaje
> news:
> > Hola Grupo:
> >
> > Os pido consejo sobre la siguente cuestion:
> >
> > Tengo Hecha una aplicacion con continuos accesos a datos en
multiples
> > formularios y rutinas, con acceso a Datos en SQL Server,ACCES y a


datos
> > nativos COBOL a traves de ODBC, la aplicacion es utilizada por unos 70
> > usuarios en Red (Terminal Server).
> >
> > Yo actualmente abro las conexiones a datos al inicializar la
> aplicacion
> > y las mantengo abiertas hasta que se cierra la aplicacion.
> >
> > La cuestion es ¿ Seria mas correcto abrir una conexion cada vez


que
> > tengo que acceder a datos y luego cerrarla ?, esto me llevaria a
escribir
> > mucho codigo y el peligro de dejarme conexiones abiertas
> >
> > Si alguien me puede aconsejar se lo agradezco.
> >
> > Gracias.
> >
> >
>
>


Respuesta Responder a este mensaje
#8 Sashka
07/07/2003 - 17:41 | Informe spam
:)) Muchas gracias Antonio... pero la duda no era mía todo ésto fue a
raiz de la pregunta de Grupo Bandera Vivar . que nunca tuvo la gentileza
de volverse a conectar :))

Yo por mi lado... JAMAS tengo una conexión abierta casi todos mis
programas usan la misma estructura modular con respecto a las conexiones...
y nunca he tenido un problema

Sashka


"Antonio Gómez" escribió en el mensaje
news:
Sashka: Estoy indicando en mi respuesta que hay un parametro en SQL Server
para cerrar conexiones ociosas.
En cualquier caso, no existe problema alguno por mantener una conexion
abierta el tiempo que haga falta. El consumo de una conexion es minimo.
En cuanto a las conexiones desde Dll, pues se puede conectar tantas veces
como haga falta, sin mas. No hay mas limite que el que marque los recursos
de servidor y PC.
Si abro y cierro las conexiones desde la Dll es por que son procesos
separados que se pueden ejecutar muchas veces, por lo que si que es
recomendable no dejar conexiones abiertas cada vez que finalizas una
instancia a una libreria. Otra posibilidad es "pasarle" la conexion del
programa ejecutable a la libreria, tal y como sugiero en mi respuesta.

Si tienes alguna duda mas, estoy a tu disposicion

Saludos
Antonio Gomez

"Sashka" escribió en el mensaje
news:
> Precisamente... porque hay usuarios que abren el programa y se van a
> alamorzar... es que no se debe mantener conexiones abiertas
> innecesariamente..
>
> > Por otra parte, si utilizo componentes o Dlls, y no puedo compartir la
> > conexion principal, abro y cierro las conexiones en cada proceso...
>
> Y menos cuando además de la conexión abierta (y sin uso)... abres y
cierras
> otras ¿?
>
> Sashka
>
> "Antonio Gómez" escribió en el mensaje
> news:
> > Yo trabajo con un ERP, que abre una conexion que comparte con los
> distintos
> > modulos del programa.
> > Esta conexion se cierra cuando se finaliza la ejecucion del programa.
Esto
> a
> > veces crea problemas de licencias de usuario ya que es muy usual que


un
> > usuario inicie el programa y no lo cierre hasta que finalice su


jornada.
> > Sin embargo, en la base de datos SQL Server hay una opcion para


limitar
el
> > tiempo de inactividad de una conexion, con lo que excedido este tiempo
la
> > conexion se cierra. El problema es que no la encuentro en SQL Server
2000
> > (Hasta hace poco utilizaba SQL 6.5, y este parametro estaba en las
> > propiedades del servidor)
> >
> > Por otra parte, si utilizo componentes o Dlls, y no puedo compartir la
> > conexion principal, abro y cierro las conexiones en cada proceso...
> >
> > Saludos
> > "Grupo Bandera Vivar" escribió en el
> mensaje
> > news:
> > > Hola Grupo:
> > >
> > > Os pido consejo sobre la siguente cuestion:
> > >
> > > Tengo Hecha una aplicacion con continuos accesos a datos en
> multiples
> > > formularios y rutinas, con acceso a Datos en SQL Server,ACCES y a
datos
> > > nativos COBOL a traves de ODBC, la aplicacion es utilizada por unos


70
> > > usuarios en Red (Terminal Server).
> > >
> > > Yo actualmente abro las conexiones a datos al inicializar la
> > aplicacion
> > > y las mantengo abiertas hasta que se cierra la aplicacion.
> > >
> > > La cuestion es ¿ Seria mas correcto abrir una conexion cada vez
que
> > > tengo que acceder a datos y luego cerrarla ?, esto me llevaria a
> escribir
> > > mucho codigo y el peligro de dejarme conexiones abiertas
> > >
> > > Si alguien me puede aconsejar se lo agradezco.
> > >
> > > Gracias.
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#9 Antonio Gómez
07/07/2003 - 18:09 | Informe spam
Sashka.
Es una opcion perfectamente valida.
Ya sabes "cada maestrillo tiene su librillo"...
Saludos

Antonio Gomez
"Sashka" escribió en el mensaje
news:
:)) Muchas gracias Antonio... pero la duda no era mía todo ésto fue a
raiz de la pregunta de Grupo Bandera Vivar . que nunca tuvo la


gentileza
de volverse a conectar :))

Yo por mi lado... JAMAS tengo una conexión abierta casi todos mis
programas usan la misma estructura modular con respecto a las


conexiones...
y nunca he tenido un problema

Sashka


"Antonio Gómez" escribió en el mensaje
news:
> Sashka: Estoy indicando en mi respuesta que hay un parametro en SQL


Server
> para cerrar conexiones ociosas.
> En cualquier caso, no existe problema alguno por mantener una conexion
> abierta el tiempo que haga falta. El consumo de una conexion es minimo.
> En cuanto a las conexiones desde Dll, pues se puede conectar tantas


veces
> como haga falta, sin mas. No hay mas limite que el que marque los


recursos
> de servidor y PC.
> Si abro y cierro las conexiones desde la Dll es por que son procesos
> separados que se pueden ejecutar muchas veces, por lo que si que es
> recomendable no dejar conexiones abiertas cada vez que finalizas una
> instancia a una libreria. Otra posibilidad es "pasarle" la conexion del
> programa ejecutable a la libreria, tal y como sugiero en mi respuesta.
>
> Si tienes alguna duda mas, estoy a tu disposicion
>
> Saludos
> Antonio Gomez
>
> "Sashka" escribió en el mensaje
> news:
> > Precisamente... porque hay usuarios que abren el programa y se van a
> > alamorzar... es que no se debe mantener conexiones abiertas
> > innecesariamente..
> >
> > > Por otra parte, si utilizo componentes o Dlls, y no puedo compartir


la
> > > conexion principal, abro y cierro las conexiones en cada proceso...
> >
> > Y menos cuando además de la conexión abierta (y sin uso)... abres y
> cierras
> > otras ¿?
> >
> > Sashka
> >
> > "Antonio Gómez" escribió en el mensaje
> > news:
> > > Yo trabajo con un ERP, que abre una conexion que comparte con los
> > distintos
> > > modulos del programa.
> > > Esta conexion se cierra cuando se finaliza la ejecucion del


programa.
> Esto
> > a
> > > veces crea problemas de licencias de usuario ya que es muy usual que
un
> > > usuario inicie el programa y no lo cierre hasta que finalice su
jornada.
> > > Sin embargo, en la base de datos SQL Server hay una opcion para
limitar
> el
> > > tiempo de inactividad de una conexion, con lo que excedido este


tiempo
> la
> > > conexion se cierra. El problema es que no la encuentro en SQL Server
> 2000
> > > (Hasta hace poco utilizaba SQL 6.5, y este parametro estaba en las
> > > propiedades del servidor)
> > >
> > > Por otra parte, si utilizo componentes o Dlls, y no puedo compartir


la
> > > conexion principal, abro y cierro las conexiones en cada proceso...
> > >
> > > Saludos
> > > "Grupo Bandera Vivar" escribió en el
> > mensaje
> > > news:
> > > > Hola Grupo:
> > > >
> > > > Os pido consejo sobre la siguente cuestion:
> > > >
> > > > Tengo Hecha una aplicacion con continuos accesos a datos en
> > multiples
> > > > formularios y rutinas, con acceso a Datos en SQL Server,ACCES y a
> datos
> > > > nativos COBOL a traves de ODBC, la aplicacion es utilizada por


unos
70
> > > > usuarios en Red (Terminal Server).
> > > >
> > > > Yo actualmente abro las conexiones a datos al inicializar la
> > > aplicacion
> > > > y las mantengo abiertas hasta que se cierra la aplicacion.
> > > >
> > > > La cuestion es ¿ Seria mas correcto abrir una conexion cada


vez
> que
> > > > tengo que acceder a datos y luego cerrarla ?, esto me llevaria a
> > escribir
> > > > mucho codigo y el peligro de dejarme conexiones abiertas
> > > >
> > > > Si alguien me puede aconsejar se lo agradezco.
> > > >
> > > > Gracias.
> > > >
> > > >
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#10 Sashka
07/07/2003 - 18:10 | Informe spam
Efectivamente :))

Sashka

"Antonio Gómez" escribió en el mensaje
news:ee$
Sashka.
Es una opcion perfectamente valida.
Ya sabes "cada maestrillo tiene su librillo"...
Saludos

Antonio Gomez
"Sashka" escribió en el mensaje
news:
> :)) Muchas gracias Antonio... pero la duda no era mía todo ésto fue


a
> raiz de la pregunta de Grupo Bandera Vivar . que nunca tuvo la
gentileza
> de volverse a conectar :))
>
> Yo por mi lado... JAMAS tengo una conexión abierta casi todos mis
> programas usan la misma estructura modular con respecto a las
conexiones...
> y nunca he tenido un problema
>
> Sashka
>
>
> "Antonio Gómez" escribió en el mensaje
> news:
> > Sashka: Estoy indicando en mi respuesta que hay un parametro en SQL
Server
> > para cerrar conexiones ociosas.
> > En cualquier caso, no existe problema alguno por mantener una conexion
> > abierta el tiempo que haga falta. El consumo de una conexion es


minimo.
> > En cuanto a las conexiones desde Dll, pues se puede conectar tantas
veces
> > como haga falta, sin mas. No hay mas limite que el que marque los
recursos
> > de servidor y PC.
> > Si abro y cierro las conexiones desde la Dll es por que son procesos
> > separados que se pueden ejecutar muchas veces, por lo que si que es
> > recomendable no dejar conexiones abiertas cada vez que finalizas una
> > instancia a una libreria. Otra posibilidad es "pasarle" la conexion


del
> > programa ejecutable a la libreria, tal y como sugiero en mi respuesta.
> >
> > Si tienes alguna duda mas, estoy a tu disposicion
> >
> > Saludos
> > Antonio Gomez
> >
> > "Sashka" escribió en el mensaje
> > news:
> > > Precisamente... porque hay usuarios que abren el programa y se van a
> > > alamorzar... es que no se debe mantener conexiones abiertas
> > > innecesariamente..
> > >
> > > > Por otra parte, si utilizo componentes o Dlls, y no puedo


compartir
la
> > > > conexion principal, abro y cierro las conexiones en cada


proceso...
> > >
> > > Y menos cuando además de la conexión abierta (y sin uso)... abres y
> > cierras
> > > otras ¿?
> > >
> > > Sashka
> > >
> > > "Antonio Gómez" escribió en el mensaje
> > > news:
> > > > Yo trabajo con un ERP, que abre una conexion que comparte con los
> > > distintos
> > > > modulos del programa.
> > > > Esta conexion se cierra cuando se finaliza la ejecucion del
programa.
> > Esto
> > > a
> > > > veces crea problemas de licencias de usuario ya que es muy usual


que
> un
> > > > usuario inicie el programa y no lo cierre hasta que finalice su
> jornada.
> > > > Sin embargo, en la base de datos SQL Server hay una opcion para
> limitar
> > el
> > > > tiempo de inactividad de una conexion, con lo que excedido este
tiempo
> > la
> > > > conexion se cierra. El problema es que no la encuentro en SQL


Server
> > 2000
> > > > (Hasta hace poco utilizaba SQL 6.5, y este parametro estaba en las
> > > > propiedades del servidor)
> > > >
> > > > Por otra parte, si utilizo componentes o Dlls, y no puedo


compartir
la
> > > > conexion principal, abro y cierro las conexiones en cada


proceso...
> > > >
> > > > Saludos
> > > > "Grupo Bandera Vivar" escribió en


el
> > > mensaje
> > > > news:
> > > > > Hola Grupo:
> > > > >
> > > > > Os pido consejo sobre la siguente cuestion:
> > > > >
> > > > > Tengo Hecha una aplicacion con continuos accesos a datos en
> > > multiples
> > > > > formularios y rutinas, con acceso a Datos en SQL Server,ACCES y


a
> > datos
> > > > > nativos COBOL a traves de ODBC, la aplicacion es utilizada por
unos
> 70
> > > > > usuarios en Red (Terminal Server).
> > > > >
> > > > > Yo actualmente abro las conexiones a datos al inicializar la
> > > > aplicacion
> > > > > y las mantengo abiertas hasta que se cierra la aplicacion.
> > > > >
> > > > > La cuestion es ¿ Seria mas correcto abrir una conexion cada
vez
> > que
> > > > > tengo que acceder a datos y luego cerrarla ?, esto me llevaria a
> > > escribir
> > > > > mucho codigo y el peligro de dejarme conexiones abiertas
> > > > >
> > > > > Si alguien me puede aconsejar se lo agradezco.
> > > > >
> > > > > Gracias.
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>


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