Título: Mi Aplicacion se traba haciendo consultas conxecutivas a MySQL Publicado por: luison en 9 Febrero 2013, 05:08 am Hola a todos
Tengo una aplicación en vb.net + mysql. Donde para gestionar la interacción con mysql tengo una clase llamada clsDatabase. Cuando realizo consultas consecutivas mi aplicación se traba, como si se quedara congelada esperando algo, lo raro que no manda ningun mensaje de error, aunque le ponga la consulta dentro de un try.. catch. Esta es mi clase para gestionar la base de datos: Código
Realizo consultas normales, para cortes de caja, reportes, ventas etc. Durante horas puede trabajar bien, pero despues de un tiempo la aplicacion se traba y no da mas. Cuando inicio la aplicacion declaro una instancia de la clase : Código Y utilizo esa instancia en todos los formularios, no creo que se trabe porque se llega al full de pools, o conexiones a mysql, puesto que mantengo solo una conexión desde el inicio. A menos que la clase esté haciendo un mal manejo de las conexiones con mysql? Les agradezco de antemano cualquier tip, aportación o sugerencia para solucionar el problema. Gracias :) [/size] Título: Re: Mi Aplicacion se traba haciendo consultas conxecutivas a MySQL Publicado por: _katze_ en 9 Febrero 2013, 05:18 am mira la conexion con la db la haces cuando inicializas la clase si instancias la clase mas de una vez puede estar el problema ahi
Título: Re: Mi Aplicacion se traba haciendo consultas conxecutivas a MySQL Publicado por: luison en 9 Febrero 2013, 05:30 am Podría ser que se generen muchas conexiones y ese sea el problema, lo que no entiendo por qué no se genera el error en mi aplicacion.
Un ejemplo del uso de la instancia de la clase es: Código
Otro ejemplo es: Código
Espero sirva para que me compartan sus ideas. Gracias Título: Re: Mi Aplicacion se traba haciendo consultas conxecutivas a MySQL Publicado por: _katze_ en 9 Febrero 2013, 06:05 am usa las exepciones de sqldataexepcion o algo asi, eso te cantan la posta y borra el return nothing
Título: Re: Mi Aplicacion se traba haciendo consultas conxecutivas a MySQL Publicado por: HdM en 9 Febrero 2013, 21:04 pm Hola.
Citar no creo que se trabe porque se llega al full de pools, o conexiones a mysql, puesto que mantengo solo una conexión desde el inicio. Yo creo que no sólo mantienes una cnx desde el inicio. Tienes 5 funciones en la clase que cada vez que son llamadas, abren una nueva cnx. Si por el uso que se le da a la app (y si tienes varios puestos ejecutándola) no se para de llamar estas funciones y no se van cerrando las cnx... También puedes echar un vistazo a cómo tienes configurado el servidor y sus logs. Un saludo. Título: Re: Mi Aplicacion se traba haciendo consultas conxecutivas a MySQL Publicado por: luison en 10 Febrero 2013, 01:49 am Tengo instalado xampp 1.7.3, configurado normal, con limite maximo de conexiones el que trae por default 151. Lo que estoy haciendo es en un modulo declarar:
Public Con as new clsDatabase y utilizo esa instancia en toda la aplicacion. Lo que podria ser es que la funcion QueryDataReader abre una conexion a mysql en distintos formularios y ésta no se cierre hasta que la aplicacion se cierra al final del dia. Solo es una pc donde esta corriendo mi sistema. Ya agregue los Código pero no me devuelve error >:( Sigo buscando soluciones, gracias... Título: Re: Mi Aplicacion se traba haciendo consultas conxecutivas a MySQL Publicado por: luison en 10 Febrero 2013, 02:03 am Probablemente esto ayude. Realizando una venta se registra en diferentes tablas la transaccion:
1-En tabla de ventas 2-En detalle de ventas 3-En movimientos 4-Se actualizan inventarios Todo ello genera en mysql dentro de procesos del servidor una imagen como la que comparto: (http://www.freeimagehosting.net/t/i53go.jpg) (http://www.freeimagehosting.net/i53go) Es normal que se abran todos esos procesos y se mantengan ahi? O sera que el problema es porque se abren demadiados y jamas se cierran sino es que hasta varias horas despues cuando el sistema cierra las ventas del dia? Gracias.. Título: Re: Mi Aplicacion se traba haciendo consultas conxecutivas a MySQL Publicado por: luison en 10 Febrero 2013, 03:33 am Investigando veo que mysql tiene configurado el wait_timeout por default en 8 horas de espera, por tanto cada conexion que abro permanece abierta toda la jornada de trabajo, lo que a la postre ocasiones una pila enorme de conexiones abiertas.
Quisiera pensar que eso es la causa de que mi aplicacion se traba. Cambie el wait_timeout a 30 segundos para que cada que pase ese tiempo mysql cierre todas las conexiones en estado sleep. Que opinan ustedes?,,, Será la solucion? Esperemos que sí ;D Título: Re: Mi Aplicacion se traba haciendo consultas conxecutivas a MySQL Publicado por: alister en 10 Febrero 2013, 05:02 am Investigando veo que mysql tiene configurado el wait_timeout por default en 8 horas de espera, por tanto cada conexion que abro permanece abierta toda la jornada de trabajo, lo que a la postre ocasiones una pila enorme de conexiones abiertas. Quisiera pensar que eso es la causa de que mi aplicacion se traba. Cambie el wait_timeout a 30 segundos para que cada que pase ese tiempo mysql cierre todas las conexiones en estado sleep. Que opinan ustedes?,,, Será la solucion? Esperemos que sí ;D pero tienes que cerrarlas tu, o reciclar las conexiones que tengas abiertas. solo veo que New New New New New New ! ejejejeje |