Cerrar conexión MySql con TDolphin (Solucionado)

Cerrar conexión MySql con TDolphin (Solucionado)

Postby cmsoft » Wed Nov 03, 2021 3:12 pm

Estimados:
Tengo un sistema que hace la apertura de una base de datos que uso para configuración, y luego la cierro para abrir otra.
El problema que estoy teniendo es que, aunque hago un End de la primera conexión, en la base de datos me sigue mostrando (con SHOW PROCESSLIST) que la conexión sigue activa.
Esto hace que la cantidad de concurrencias en la base de datos se multiplique por dos, y que alcance el máximo definido en max_connections.
Como puedo hacer para matar dicha conexión?
Desde ya muchas gracias.
Last edited by cmsoft on Mon Nov 08, 2021 8:12 pm, edited 1 time in total.
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Cerrar conexión MySql con TDolphin

Postby carlos vargas » Wed Nov 03, 2021 4:03 pm

en tdolphin,
static HB_GARBAGE_FUNC( MYSQL_release )
{
void ** ph = (void **) Cargo;

/* Check if pointer is not NULL to avoid multiple freeing */
if( ph && * ph )
{
/* Destroy the object */
mysql_close( (MYSQL *) * ph );

/* set pointer to NULL to avoid multiple freeing */
* ph = NULL;
}
}


intenta con esto, y nos comenta por favor:

Code: Select all  Expand view

oCon:end()
oCon := nil
 
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1720
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Cerrar conexión MySql con TDolphin

Postby cmsoft » Wed Nov 03, 2021 4:23 pm

Carlos:
Muchas gracias por la pronta respuesta
Con:
Code: Select all  Expand view

oServer:End()
oServer := nil
 

No la mata a la conexión.
Por ahí te interprete mal, HB_GARBAGE_FUNC como la llamo?
Esa funcion veo que esta en function.c de dolphin, pero no la llama en ningun lado al hacer End
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Cerrar conexión MySql con TDolphin

Postby karinha » Wed Nov 03, 2021 6:44 pm

Y asi?

Code: Select all  Expand view

   oServer:Close()  
   oConn:Close()  

   oServer := NIL
   oConn := NIL

   HB_GCALL( .T. )
 


Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7824
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Cerrar conexión MySql con TDolphin

Postby carlos vargas » Wed Nov 03, 2021 8:44 pm

la idea de las funciones garbage, es que son llamadas cuando el programa entra en idle, y se ejecuta al recolector de basura, ahi las variables a nil, son procesadas.

ahi es cuando se llama la función mysql_close, para el caso de la variable que contiene la conexion. es cuando se cierra la conexión.

de ahi que karinha haga el llamado a hb_gcall, obligando al recolector de basura de harbour a ejecutarse inmediatamente, y no hasta que el programa este en idle.

Mil Gracias karinha, eso es lo que me faltaba.

salu2
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1720
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Cerrar conexión MySql con TDolphin

Postby cmsoft » Wed Nov 03, 2021 10:16 pm

Gracias por las respuestas y aclaraciones.
Probé como indicó Karinha pero sigue sin matar la conexión.
Seguramente esté haciendo algo mal, voy a revisar más mi código
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Cerrar conexión MySql con TDolphin

Postby cmsoft » Mon Nov 08, 2021 4:05 pm

Revisé mi código y sigue sin funcionar.
Agradecería cualquier sugerencia.
Desde ya muchas gracias
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Cerrar conexión MySql con TDolphin

Postby JoseAlvarez » Mon Nov 08, 2021 5:10 pm

Hola César, Saludos..

¿Será que en algún momento tienes dos conexiones con la misma variable?

Yo no he tenido problemas con el END, y mi forma de trabajar es Conectar, Hacer, Desconectar o sea que conecto y desconecto constantemente.

Es una idea, trata de descartarla.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 795
Joined: Sun Nov 09, 2014 5:01 pm

Re: Cerrar conexión MySql con TDolphin (Solucionado)

Postby cmsoft » Mon Nov 08, 2021 8:13 pm

Gracias a todos por su interés.
Dado que a todos le funcionaba, profundicé en mi código, y efectivamente tenía un apertura extra que después no cerraba.
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 75 guests