FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour maria_Connect (to Mr.Nages)
Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
maria_Connect (to Mr.Nages)
Posted: 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.ar
Posts: 1067
Joined: Wed Nov 09, 2005 02:17 AM
Re: maria_Connect (to Mr.Nages)
Posted: Tue Oct 15, 2024 06:06 PM
Code (fw): Select all Collapse
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
Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
Re: maria_Connect (to Mr.Nages)
Posted: Tue Oct 15, 2024 09: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.ar
Posts: 1067
Joined: Wed Nov 09, 2005 02:17 AM
Re: maria_Connect (to Mr.Nages)
Posted: Wed Oct 16, 2024 01:10 AM
You could to do this by this way:
Code (fw): Select all Collapse
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
Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
Re: maria_Connect (to Mr.Nages)
Posted: 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.ar
Posts: 1067
Joined: Wed Nov 09, 2005 02:17 AM
Re: maria_Connect (to Mr.Nages)
Posted: 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

Continue the discussion