maria_Connect (to Mr.Nages)

maria_Connect (to Mr.Nages)

Postby TOTOVIOTTI » Tue Oct 15, 2024 12:11 pm

Hola, estoy intentando migrar mi conexión a Maria por Dolphin a la clase de Mr. Nages.

Hello, I am trying to migrate my connection to Maria via Dolphin to Mr. Nages' class.

Actualmente tengo una conexión que funciona correctamente, incluso, valida los errores de
conexión:

I currently have a connection that works correctly, even validating errors.
connection:

STAT FUNC ConnectTo(hHost,hUser,hPassword,hBase,siMsg)
CONNECT oBase HOST hHost USER hUser PASSWORD hPassword PORT 3306 FLAGS hFlags DATABASE hBase ;
ON ERROR MiError(oBase,nError,lInternal,@CONECTA,siMsg)
IF !CONECTA
RETURN NIL
ENDIF
IF !oBase:Execute("set session wait_timeout=86400")
MsgStop('Error al intentar establecer wait_timeout','Error')
oBase:End()
ENDIF
IF !oBase:Execute("set session interactive_timeout=28880")
MsgStop('Error al intentar establecer interactive_timeout','Error')
oBase:End()
ENDIF
IF !oBase:Execute("set session sql_big_selects=1")
MsgStop('Error al intentar establecer sql_big_selects=1','Error')
oBase:End()
ENDIF
IF !oBase:Execute("set @lower_case_table_names=1")
MsgStop('Error al intentar establecer set @lower_case_table_names=1','Error')
oBase:End()
ENDIF
IF !oBase:Execute("SET lc_time_names = 'es_ES'")
MsgStop("Error al intentar establecer SET lc_time_names = 'es_ES'",'Error')
oBase:End()
ENDIF
RETURN oBase

STAT FUNC MiError(oServer,nError,lInternal,CONECTA,siMsg)
IF siMsg
DO CASE
CASE nError=1045
MsgStop("No está definido el Usuario de la Base de Datos!","Error: "+ALLTRIM(STR(nError)))
CASE nError=1054
MsgStop("No encuentra uno o uno de los campos en la tabla!","Error: "+ALLTRIM(STR(nError)))
CASE nError=1064
MsgStop("Error en la escritura de la sentencia!","Error: "+ALLTRIM(STR(nError)))
CASE nError=1146
MsgStop("El nombre de la tabla ingresada, no existe en la Base de Datos!","Error: "+ALLTRIM(STR(nError)))
CASE nError=1226
MsgStop("Ha superado la cantidad de Licencias habilitadas para el uso del Sistema!","Atención")
CASE nError=2003
MsgStop("Se ha producido un error en la conexión con la Base de Datos de Internet!","Error: "+ALLTRIM(STR(nError)))
CASE nError=2013
MsgStop("Se ha perdido la conexión con la Base de Datos, verifique la conexión a Internet y reinicie el sistema!","Error: "+ALLTRIM(STR(nError)))
CASE nError=9012
MsgStop("Error en la grabación de datos de la tabla!","Error: "+ALLTRIM(STR(nError)))
OTHERWISE
MsgStop("Error de conexión con la Base de Datos!","Error: "+ALLTRIM(STR(nError)))
ENDCASE
ENDIF
CONECTA:=.F.
RETURN NIL


¿Cómo puedo reemplazar mi función de conexión y validación de errores de conexión usando "maria_Connect"?
Aclaro que logré conectarme, no encuentro información de como validar los errores de conexión.
Muchas gracias!

How can I override my connection error validation and connection function using "maria_Connect"?
I clarify that I managed to connect, I cannot find information on how to validate connection errors.
Thank you so much!

Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 422
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: maria_Connect (to Mr.Nages)

Postby vilian » Tue Oct 15, 2024 6:06 pm

Code: Select all  Expand view  RUN
STAT FUNC ConnectTo(hHost,hUser,hPassword,hBase,siMsg)

   FWCONNECT oCn HOST hHost USER hUser PASSWORD hPassword PORT 3306
   IF oCn:nError <> 0
       MiError(oCn,oCn:nError,lInternal,@CONECTA,siMsg)
   ENDIF
Sds,
Vilian F. Arraes
vilian@vfatec.com.br
Belém-Pa-Brazil
User avatar
vilian
 
Posts: 982
Joined: Wed Nov 09, 2005 2:17 am
Location: Brazil

Re: maria_Connect (to Mr.Nages)

Postby TOTOVIOTTI » Tue Oct 15, 2024 9:35 pm

Hola Vilian,

esto funciona perfecto. De hecho ya lo había probado, pero quería probar
maria_Connect que según parece es más rápido que la función nativa de FW.

Lo que si, no me funciona esto:

IF !oBase:Execute("set session wait_timeout=86400")
MsgStop('Error al intentar establecer wait_timeout','Error')
oBase:End()
ENDIF

Me da error...

Muchas gracias!

Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 422
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: maria_Connect (to Mr.Nages)

Postby vilian » Wed Oct 16, 2024 1:10 am

You could to do this by this way:

Code: Select all  Expand view  RUN
oBase:Execute("set session wait_timeout=86400")
IF oBase:nError <> 0
   MsgStop('Error al intentar establecer wait_timeout','Error')
   oBase:End()
ENDIF
Sds,
Vilian F. Arraes
vilian@vfatec.com.br
Belém-Pa-Brazil
User avatar
vilian
 
Posts: 982
Joined: Wed Nov 09, 2005 2:17 am
Location: Brazil

Re: maria_Connect (to Mr.Nages)

Postby TOTOVIOTTI » Wed Oct 16, 2024 10:55 am

Gracias Vilian!
Funciona perfecto así!

Ahora deberé cambiar todos mis querys, cierto?
Con Dolphin hago:

oQuery:=oServer:Query("SELECT * FROM customer")

Con la clase nativa, como debo construir mis querys?

Muchas gracias!

Thanks Vilian!
It works perfect like this!

Now I'll have to change all my queries, right?
With Dolphin I do:

oQuery:=oServer:Query("SELECT * FROM customer")

With the native class, how should I build my queries?

Thank you so much!

Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 422
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: maria_Connect (to Mr.Nages)

Postby vilian » Wed Oct 16, 2024 11:23 am

You should use querys exactly the same way Tdolphin/Native class.
Sds,
Vilian F. Arraes
vilian@vfatec.com.br
Belém-Pa-Brazil
User avatar
vilian
 
Posts: 982
Joined: Wed Nov 09, 2005 2:17 am
Location: Brazil


Return to FiveWin para Harbour/xHarbour

Who is online

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