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. Muchas gracias. |
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. |
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. |
Cita:
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. |
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. |
Cita:
|
La franja horaria es GMT +2. Ahora son las 13:29:37. |
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