Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-12-2010
Avatar de pborges36
pborges36 pborges36 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Argentina
Posts: 192
Poder: 20
pborges36 Va por buen camino
threads en dbExpress

Buenas a Todos. Estoy haciendo una aplicacion en delphi 2010, mysql 5. Uso los componentes TSQLConnection y TSQLQuery de la paleta dbExpress para conectarme a la base de datos.
Recien descubro que por cada TSQLQuery que se active se crea un thread en el servidor mysql. Por esta razon al tener la aplicacion funcionando solamente en 5 pc empiezan a saltar los errores de mysql:

Código:
Too many connections.
Se podra optimizar esto de alguna manera?
Muchas gracias.
Responder Con Cita
  #2  
Antiguo 16-12-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Para eso hay lo que se llama un ConnectionPool. Busca información.
Puedes usar treads, pero limitando el número de conexiones para que no se cren demasiadas. Hay una serie de conexiones activas que comparten los threads.

Limitas el número y los threads van esperando a que quede una conexión libre, cuando queda una libre, esta e asigna a un thread que la usa y la vuelve a liberar. De esta forma utilizas "al máximo" las conexiones disponibles, pero sin pasarte.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 17-12-2010
Avatar de pborges36
pborges36 pborges36 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Argentina
Posts: 192
Poder: 20
pborges36 Va por buen camino
Gracias por responder Neftali.
Consegui el componente ConnectionPool, pero no consigo hacelo funcionar en D2010.

Habra una version para 2010? o habra otra solucion?.

Muchas Gracias.
Saludos.
Responder Con Cita
  #4  
Antiguo 17-12-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por pborges36 Ver Mensaje
Habra una version para 2010? o habra otra solucion?.
Hombre la otra opción es que lo programes tú. Puedes empezar con algo sencillo y luego ir complicándolo. La idea, tal como he dicho, no es compleja.
Se trata de tener una lista de conneciones; Unas libres y otras que se están utilizando. Cuando alguien necesita una se la asignas y la utiliza, al acabar la libera.

¿Te atreves a realizar una implementación sencilla?
Si comienzas tal vez te podamos echar un cable.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 17-12-2010
Avatar de pborges36
pborges36 pborges36 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Argentina
Posts: 192
Poder: 20
pborges36 Va por buen camino
Holas. Mer parece una buena idea. Tendre que empezar con la implementacion, aunque no sabria ni por donde empezar.
Algun link que recomiendes leer?

Muchas Gracias Neftali.
Saludos.
Responder Con Cita
  #6  
Antiguo 21-12-2010
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
Cita:
Empezado por pborges36 Ver Mensaje
Por esta razon al tener la aplicacion funcionando solamente en 5 pc empiezan a saltar los errores de mysql:
Eso te pasa por no usar Firebird
__________________
¿Microsoft? No, gracias..
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Threads en delphi gesjug Varios 7 30-09-2008 13:25:57
uso de threads JULIPO API de Windows 2 25-07-2007 16:09:06
Threads in DLL's Gianni Varios 0 20-07-2007 22:18:23
threads multihilo walito API de Windows 5 13-06-2007 19:34:26
Threads zombies Archer Varios 1 25-09-2006 19:19:38


La franja horaria es GMT +2. Ahora son las 00:05:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi