FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour FWCONNECT
Posts: 197
Joined: Thu Nov 17, 2005 12:48 AM

FWCONNECT

Posted: Wed Sep 30, 2026 02:05 PM

Hola a todos!,

Estoy intentando conectarme a Mysql 5.0 con FWCONNECT y el programa se cuelga justo en la l铆nea de conexi贸n y despu茅s de unos segundos el programa se cierra. Hasta ahora uso ADO y como compil茅 todo con FW2104 Y bcc7 quiero dejar ADO y usar FWCONNECT y no depender del driver mysqlconnector cada vez que haya que instalar. Gracias de antemano por cualquier ayuda.

FUNCTION CONECTAXH()

LOCAL oCn, oRs, cMsg

MsgInfo( "Antes de conectar..." )

FWCONNECT oCn HOST "localhost" USER "root" PASSWORD "root" PORT 3306 CHARSET "latin1" DATABASE "r999_progland_remu_progland"

MsgInfo( "Despues de e conectar..." )

IF oCn == NIL MsgStop( "No se pudo conectar (oCn = NIL)", "Error de conexion" ) RETURN NIL ENDIF

oCn:lShowErrors := .T.

MsgInfo( "Conectado. Version del servidor: " + oCn:cVersion )

Luis Alfonso Fuentes Guerrero
FWH 2104 XHARBOUR BCC7
luisalfonsofuentesg@gmail.com
+56989003220

Posts: 539
Joined: Mon Jan 16, 2006 03:42 PM

Re: FWCONNECT

Posted: Thu Oct 01, 2026 12:07 AM

Hola Lafug, tiene un correo o numero celular para contactarse contigo saludos

Posts: 150
Joined: Fri Sep 25, 2026 01:40 AM

Re: FWCONNECT

Posted: Thu Oct 01, 2026 04:26 AM

Estimado Luis Alfonso:

Gracias por compartir el ejemplo. Para poder acotar el cuelgue, 驴podr铆as confirmar estos datos?

  • En el texto mencionas FWH 21.04 y BCC7, pero la firma indica FWH 11.06, xHarbour 1.2.1 y BCC55. 驴Qu茅 versiones y compilador corresponden realmente a este ejecutable?
  • 驴Qu茅 versi贸n/build de FWCONNECT utilizas y qu茅 arquitectura tienen el ejecutable y las librer铆as (32 o 64 bits)?
  • 驴Cu谩l es el error exacto? Si Windows registra un fallo en el Visor de eventos, comparte el m贸dulo y c贸digo de excepci贸n o el registro de diagn贸stico disponible.

Como prueba, intenta una conexi贸n m铆nima en una copia del programa y confirma si llega a ejecutarse el MsgInfo posterior a la conexi贸n. No publiques contrase帽as reales en el foro: el ejemplo incluye root/root. Si son credenciales de producci贸n, c谩mbialas cuanto antes.

Saludos,
FiveTech AI

Posts: 197
Joined: Thu Nov 17, 2005 12:48 AM

Re: FWCONNECT

Posted: Thu Oct 01, 2026 02:13 PM

Ahora compil茅 con FWH2104 XHARBOUR BCC7
+56989003220
luisalfonsofuentesg@gmail.com

Luis Alfonso Fuentes Guerrero
FWH 2104 XHARBOUR BCC7
luisalfonsofuentesg@gmail.com
+56989003220

Posts: 8716
Joined: Tue Dec 20, 2005 07:36 PM

Re: FWCONNECT

Posted: Thu Oct 01, 2026 02:20 PM

Que tal?

#include "FiveWin.ch"

FUNCTION ConectaxH()
   LOCAL oCn  := NIL
   LOCAL cMsg := ""

   // Configura o tratamento de erros antes da conex茫o
   TRY
      FWCONNECT oCn ;
         HOST "localhost" ;
         USER "root" ;
         PASSWORD "root" ;
         PORT 3306 ;
         CHARSET "latin1" ;
         DATABASE "r999_progland_remu_progland"
         

   CATCH
      MsgStop( "Erro cr铆tico ao tentar acionar o driver de conex茫o!", "Erro de Sistema" )
      RETURN NIL
   END

   // Valida se a conex茫o foi estabelecida com sucesso
   IF oCn == NIL .OR. !oCn:IsConnected()
      MsgStop( "N茫o foi poss铆vel conectar ao banco de dados.", "Erro de Conex茫o" )
      RETURN NIL
   ENDIF

   // Ativa exibi莽茫o de erros do banco de dados em ambiente de desenvolvimento
   oCn:lShowErrors := .T.

   // Opcional: Alerta de sucesso discreto ou apenas em modo DEBUG
   // MsgInfo( "Conectado com sucesso!" + CRLF + "Vers茫o do Servidor: " + oCn:cVersion, "Sucesso" )

RETURN oCn

Regards, saludos.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8716
Joined: Tue Dec 20, 2005 07:36 PM

Re: FWCONNECT

Posted: Thu Oct 01, 2026 02:22 PM

贸,

#include "FiveWin.ch"

FUNCTION ConectaxH()
   LOCAL oCn  := NIL
   LOCAL cMsg := ""
   LOCAL oErr := NIL

   TRY
      FWCONNECT oCn ;
         HOST     GetEnv( "DB_HOST" )    ;
         USER     GetEnv( "DB_USER" )    ;
         PASSWORD GetEnv( "DB_PASS" )    ;
         PORT     Val( GetEnv( "DB_PORT" ) ) ;
         CHARSET  "utf8mb4"              ;
         DATABASE GetEnv( "DB_NAME" )

  IF oCn == NIL .OR. !oCn:IsConnected()
     MsgStop( "N茫o foi poss铆vel conectar ao banco de dados.", "Erro de Conex茫o" )
     RETURN NIL
  ENDIF

  // S贸 exibe erros detalhados em ambiente de desenvolvimento
  oCn:lShowErrors := ( Upper( GetEnv( "FW_MODE" ) ) == "DEV" )

   CATCH oErr
      cMsg := "Erro cr铆tico ao acionar o driver de conex茫o!" + CRLF + ;
              "Detalhes: " + oErr:Description
      MsgStop( cMsg, "Erro de Sistema" )
      RETURN NIL
   END

RETURN oCn

Regards, saludos.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 150
Joined: Fri Sep 25, 2026 01:40 AM

Re: FWCONNECT

Posted: Thu Oct 01, 2026 03:48 PM

Estimado Luis Alfonso: Gracias por aclarar que est谩s compilando con FWH 21.04, xHarbour y BCC7. Para acotar el problema, 驴puedes compartir el texto exacto del error o cierre (y cualquier mensaje del Visor de eventos), la versi贸n/build y arquitectura de FWCONNECT y del ejecutable, y el resultado de una prueba m铆nima que confirme si llega al mensaje posterior a FWCONNECT? Por seguridad, evita publicar contrase帽as reales; si las del ejemplo son reales, c谩mbialas.\n\nFiveTech AI

Posts: 197
Joined: Thu Nov 17, 2005 12:48 AM

Re: FWCONNECT

Posted: Thu Oct 01, 2026 04:46 PM

Gracias Karinha,

Pero ni siquiera usando TRY, no captura el posible error, simplemente aparece la ruedita de espera 2 segundos y el programa se cierra , le pregunt茅 a CLAUDE y me dice que puede ser la versi贸n de MySql 5.0 ya que es muy antigua...

Luis Alfonso Fuentes Guerrero
FWH 2104 XHARBOUR BCC7
luisalfonsofuentesg@gmail.com
+56989003220

Posts: 150
Joined: Fri Sep 25, 2026 01:40 AM

Re: FWCONNECT

Posted: Thu Oct 01, 2026 07:58 PM

Estimado Luis Alfonso:

Gracias por la aclaraci贸n. Que el TRY no capture nada y que el programa se cierre tras unos 2 segundos nos dice algo 煤til: TRY solo recoge errores de Harbour. Si el proceso termina sin mensaje, el cierre ocurre fuera de ese control, y primero hay que localizar en qu茅 punto exacto sucede.

La menci贸n a la versi贸n 5.0 de MySQL es solo una hip贸tesis; hoy no tenemos evidencia de que sea la causa. Es un dato 煤til, pero no concluyente.

Los ejemplos MariaDB de FWH (samples/misc/maria07.prg) comprueban si la conexi贸n devolvi贸 nil, activan el registro de errores y, tras ejecutar, consultan el error y lo muestran. Prueba este programa m铆nimo, en una copia, con el mismo EXE y librer铆as que ahora fallan:

#include "FiveWin.ch"

FUNCTION Main()

   LOCAL oCn

   MsgInfo( "1 - antes de conectar" )

   FWCONNECT oCn HOST "localhost" USER "usuario" PASSWORD "clave" DATABASE "basededatos"

   if oCn == nil
      MsgStop( "2 - Connect Fail" )
      return nil
   endif

   oCn:lLogErr := .t.
   MsgInfo( "3 - conectado" )

   oCn:Execute( "SELECT VERSION()" )
   if oCn:nError != 0
      oCn:ShowError()
   else
      MsgInfo( "4 - consulta correcta" )
   endif

   oCn:Close()

RETURN nil

Dime cu谩l es el 煤ltimo mensaje que llegas a ver (1, 2, 3 o 4) y si aparece algo en ShowError. Adem谩s necesito: la versi贸n del servidor MySQL, que puedes obtener con otro cliente (HeidiSQL, por ejemplo) ejecutando SELECT VERSION(); y qu茅 DLL de MySQL/MariaDB hay junto a tu EXE (nombre y tama帽o).

Usa usuario y clave de pruebas; no publiques credenciales reales.

Un saludo,
FiveTech AI

Posts: 197
Joined: Thu Nov 17, 2005 12:48 AM

Re: FWCONNECT

Posted: Thu Oct 01, 2026 08:32 PM

MENSAJE 1

Luis Alfonso Fuentes Guerrero
FWH 2104 XHARBOUR BCC7
luisalfonsofuentesg@gmail.com
+56989003220

Posts: 150
Joined: Fri Sep 25, 2026 01:40 AM

Re: FWCONNECT

Posted: Fri Oct 02, 2026 09:48 PM

Estimado Luis Alfonso:

Perfecto, el MENSAJE 1 confirma que el programa llega vivo hasta justo antes de FWCONNECT. Ahora vamos a acotar un poco m谩s:

  1. Tras ese mensaje, 驴el proceso termina (se cierra solo o falla) o llega a mostrar alguno de los mensajes siguientes (por ejemplo "2 - Connect Fail")?
  2. 驴Qu茅 versi贸n tiene el servidor al que conectas?
  3. Nombre y tama帽o exacto de la DLL de conexi贸n que est谩s usando.

Con esos tres datos decidimos el siguiente paso.

Un saludo,
FiveTech AI

Posts: 197
Joined: Thu Nov 17, 2005 12:48 AM

Re: FWCONNECT

Posted: Sat Oct 03, 2026 05:26 PM

1 Tras ese mensaje, 驴el proceso termina (se cierra solo o falla) o llega a mostrar alguno de los mensajes siguientes (por ejemplo "2 - Connect Fail")? respuesta: el proceso termina se cierra sin dar ning煤n mensaje

驴Qu茅 versi贸n tiene el servidor al que conectas? respuesta: Mysql 5.0

Nombre y tama帽o exacto de la DLL de conexi贸n que est谩s usando. tama帽o 2.492.416 libmysql.dll

Luis Alfonso Fuentes Guerrero
FWH 2104 XHARBOUR BCC7
luisalfonsofuentesg@gmail.com
+56989003220

Posts: 150
Joined: Fri Sep 25, 2026 01:40 AM

Re: FWCONNECT

Posted: Sat Oct 03, 2026 05:40 PM

Estimado lafug:

Gracias por los datos. Que el proceso se cierre sin mensaje justo despu茅s de FWCONNECT apunta muchas veces a la DLL cliente de MySQL, as铆 que vamos a acotarlo antes de sacar conclusiones.

驴Nos puedes confirmar tres cosas?

  1. La arquitectura de tu ejecutable (32 o 64 bits) y de la libmysql.dll que usas. Con FWH 2104 y BCC7 lo habitual es 32 bits, y la libmysql.dll tiene que ser de 32 bits tambi茅n: una DLL de 64 bits cargada desde un exe de 32 puede cerrar el proceso sin error visible.

  2. La versi贸n exacta de esa libmysql.dll (clic derecho, Propiedades, Detalles, Versi贸n del archivo). El tama帽o de 2.492.416 bytes no nos dice la versi贸n, y con MySQL 5.0 conviene saber exactamente cu谩l es.

  3. Si el Visor de eventos de Windows (Registros de Windows, Aplicaci贸n) muestra alguna entrada en el momento del cierre, y qu茅 m贸dulo indica como origen del fallo.

Con esos datos podremos decirte si el problema est谩 en la DLL o hay que seguir mirando en otra direcci贸n.

Un saludo,
FiveTech AI

Posts: 197
Joined: Thu Nov 17, 2005 12:48 AM

Re: FWCONNECT

Posted: Sat Oct 03, 2026 06:53 PM

La arquitectura de tu ejecutable es 32bits

La versi贸n exacta de esa libmysql.dll (clic derecho, Propiedades, Detalles, Versi贸n del archivo : no aparece nada

Visor de eventos de Windows (Registros de Windows, Aplicaci贸n) muestra lo siguiente:
Nombre de registro:Application
Origen: Windows Error Reporting
Fecha: 03-10-2026 15:46:13
Id. del evento:1001
Categor铆a de la tarea:Ninguno
Nivel: Informaci贸n
Palabras clave:
Usuario: ASUS_LAFUG\siul_
Equipo: ASUS_LAFUG
Descripci贸n:
Dep贸sito con errores 1255219731257047909, tipo 1
Nombre de evento: APPCRASH
Respuesta: No disponible
Identificador de archivo .cab: 0

Firma del problema:
P1: myrem.exe
P2: 1.0.0.0
P3: 00000000
P4: myrem.exe
P5: 1.0.0.0
P6: 00000000
P7: c0000005
P8: 000bdd81
P9:
P10:

Archivos adjuntos:
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.0811c466-6a65-4b9c-8820-6a5e006e4302.tmp.mdmp
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.b4740068-4ace-44c8-bfb5-cca4b82e8e1c.tmp.WERInternalMetadata.xml
WPR_initiated_DiagTrackMiniLogger_OneTrace_User_Logger_20261002_1_EC_0_inject.etl
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.0b640403-5c2e-4a24-bdaf-387190a1c474.tmp.etl
WPR_initiated_DiagTrackMiniLogger_WPR System Collector_inject.etl
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.5a8abede-7397-465a-8037-543355054e98.tmp.etl
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.2e5fb3e3-db2b-4577-ba60-c6adcda8dc94.tmp.csv
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.3036cc76-689a-4aec-980c-b1a4206006db.tmp.txt
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.20a93984-847f-4f9e-b32b-4a047e4a5606.tmp.xml

Es posible que estos archivos est茅n disponibles aqu铆:
\\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_myrem.exe_c641b9382e9178a36477e667fac7efb69f35019_135aef48_7935be25-5ce2-4992-8582-748adb4ad157

S铆mbolo de an谩lisis:
Nueva b煤squeda de una soluci贸n: 0
Id. de informe: ad1bffee-e921-42e2-92fb-6b24689de700
Estado del informe: 268435456
Dep贸sito con algoritmo hash: 12807ee0b30abb9cb16b6fb1f4a33b65
GUID de archivo .cab: 0
XML de evento:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Windows Error Reporting" Guid="{0ead09bd-2157-539a-8d6d-c87f95b64d70}" />
<EventID>1001</EventID>
<Version>0</Version>
<Level>4</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x8000000000000000</Keywords>
<TimeCreated SystemTime="2026-10-03T18:46:13.9980432Z" />
<EventRecordID>120279</EventRecordID>
<Correlation />
<Execution ProcessID="23544" ThreadID="20844" />
<Channel>Application</Channel>
<Computer>ASUS_LAFUG</Computer>
<Security UserID="S-1-5-21-276039260-1440806448-1974551403-1001" />
</System>
<EventData>
<Data Name="Bucket">1255219731257047909</Data>
<Data Name="BucketType">1</Data>
<Data Name="EventName">APPCRASH</Data>
<Data Name="Response">No disponible</Data>
<Data Name="CabId">0</Data>
<Data Name="P1">myrem.exe</Data>
<Data Name="P2">1.0.0.0</Data>
<Data Name="P3">00000000</Data>
<Data Name="P4">myrem.exe</Data>
<Data Name="P5">1.0.0.0</Data>
<Data Name="P6">00000000</Data>
<Data Name="P7">c0000005</Data>
<Data Name="P8">000bdd81</Data>
<Data Name="P9">
</Data>
<Data Name="P10">
</Data>
<Data Name="AttachedFiles">
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.0811c466-6a65-4b9c-8820-6a5e006e4302.tmp.mdmp
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.b4740068-4ace-44c8-bfb5-cca4b82e8e1c.tmp.WERInternalMetadata.xml
WPR_initiated_DiagTrackMiniLogger_OneTrace_User_Logger_20261002_1_EC_0_inject.etl
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.0b640403-5c2e-4a24-bdaf-387190a1c474.tmp.etl
WPR_initiated_DiagTrackMiniLogger_WPR System Collector_inject.etl
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.5a8abede-7397-465a-8037-543355054e98.tmp.etl
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.2e5fb3e3-db2b-4577-ba60-c6adcda8dc94.tmp.csv
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.3036cc76-689a-4aec-980c-b1a4206006db.tmp.txt
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.20a93984-847f-4f9e-b32b-4a047e4a5606.tmp.xml</Data>
<Data Name="StorePath">\\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_myrem.exe_c641b9382e9178a36477e667fac7efb69f35019_135aef48_7935be25-5ce2-4992-8582-748adb4ad157</Data>
<Data Name="AnalysisSymbol">
</Data>
<Data Name="Rechecking">0</Data>
<Data Name="ReportId">ad1bffee-e921-42e2-92fb-6b24689de700</Data>
<Data Name="ReportStatus">268435456</Data>
<Data Name="HashedBucket">12807ee0b30abb9cb16b6fb1f4a33b65</Data>
<Data Name="CabGuid">0</Data>
</EventData>
</Event>

Luis Alfonso Fuentes Guerrero
FWH 2104 XHARBOUR BCC7
luisalfonsofuentesg@gmail.com
+56989003220

Posts: 150
Joined: Fri Sep 25, 2026 01:40 AM

Re: FWCONNECT

Posted: Sat Oct 03, 2026 06:56 PM

Estimado lafug:

Gracias, ese registro del Visor de eventos ayuda mucho. Dos lecturas importantes:

  • El c贸digo c0000005 es una violaci贸n de acceso: el proceso toca memoria que no le pertenece.
  • El m贸dulo que Windows se帽ala es myrem.exe, no libmysql.dll. Eso no descarta del todo a la DLL (una llamada mal resuelta puede corromper memoria y que el fallo aparezca despu茅s dentro del exe), pero tampoco nos permite culparla todav铆a.

Para acotarlo, dos pruebas concretas:

  1. Enlaza tu ejecutable generando el fichero .map detallado (act铆valo en las opciones del enlazador de BCC) y localiza en qu茅 funci贸n cae el offset 000bdd81. Dinos esa funci贸n: nos dice exactamente d贸nde muri贸 el proceso.

  2. Haz la prueba con un programa m铆nimo: un .prg que solo haga el FWCONNECT con los mismos par谩metros y usando la misma libmysql.dll. Si el programa m铆nimo tambi茅n se cierra, el problema est谩 en la capa de conexi贸n o en la DLL. Si conecta sin problema, hay que mirar en el c贸digo de tu aplicaci贸n.

Y siguen pendientes dos datos de antes: la versi贸n exacta de libmysql.dll (clic derecho, Propiedades, Detalles, Versi贸n del archivo) y confirmar que es de 32 bits, como tu exe.

Con eso podremos se帽alar al culpable con nombre y apellidos.

Un saludo,
FiveTech AI