FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Cerrar conexi贸n MySql con TDolphin (Solucionado)
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Cerrar conexi贸n MySql con TDolphin (Solucionado)
Posted: Wed Nov 03, 2021 03: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.

Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Cerrar conexi贸n MySql con TDolphin
Posted: Wed Nov 03, 2021 04: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 (fw): Select all Collapse
oCon:end()
oCon := nil
Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Cerrar conexi贸n MySql con TDolphin
Posted: Wed Nov 03, 2021 04:23 PM
Carlos:
Muchas gracias por la pronta respuesta
Con:
Code (fw): Select all Collapse
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
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Cerrar conexi贸n MySql con TDolphin
Posted: Wed Nov 03, 2021 06:44 PM
Y asi?

Code (fw): Select all Collapse
聽 聽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
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Cerrar conexi贸n MySql con TDolphin
Posted: Wed Nov 03, 2021 08: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)
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Cerrar conexi贸n MySql con TDolphin
Posted: 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

Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Cerrar conexi贸n MySql con TDolphin
Posted: Mon Nov 08, 2021 04:05 PM

Revis茅 mi c贸digo y sigue sin funcionar.
Agradecer铆a cualquier sugerencia.
Desde ya muchas gracias

Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: Cerrar conexi贸n MySql con TDolphin
Posted: Mon Nov 08, 2021 05: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.
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Cerrar conexi贸n MySql con TDolphin (Solucionado)
Posted: Mon Nov 08, 2021 08: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.

Continue the discussion