FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Pasar de TDolphin a FWHMariaDB
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Pasar de TDolphin a FWHMariaDB
Posted: Mon May 08, 2023 08:37 PM
Buenas estimados

Pasar de TDolphin (de Daniel Garcia) a FWHMariaDB Nativo
TDolphin se qued贸 sin actualizaci贸n desde hace mucho tiempo. (Pero funciona)
Con FWHMariaDB se emplea menos c贸digo y da mejor performance.

Deben enlazar las siguientes LIB
libmariadb.lib para BCC y libmariadb32.lib para MSVS Necesitan libmariadb.dll

mysqlclient.lib para MSVS no necesita de ninguna DLL es un poco mas grande el EXE
Pero lo pueden comprimir con: UPX sistema.exe --lzma

El siguiente resumen, todo est谩 en el foro brindado por Mr. RAO en diferentes TOPICS
Code (fw): Select all Collapse
SET EXACT ON //Se debe activar para las busquedas
聽 MYSQL_TinyIntAsLogical(.T.) //Activar los campos TINYINT en l贸gicos
聽 
聽 TRY
聽 聽 聽FWCONNECT oCn HOST "localhost/IP" USER "root" PASSWORD "password" DB "database" 
聽 聽CATCH oErr
聽 聽 聽?"No conecta con el servidor MySqlMaDB"
聽 聽 聽RETURN NIL
聽 聽END
聽 聽oPlani:=oCn:Query( "SELECT * FROM PLANILLA") Es igual oPlani:=oCn:RowSet( "SELECT * FROM PLANILLA")
聽 聽oSQL:oPlani:Record(.T.) //Registro en blanco
聽 聽oSQL:oPlani:Record() //Carga los datos
聽 聽oCn:BeginTransaction() //Inciar el proceso de guardado
聽 聽oCn:CommitTransaction() //Guarda inmediatamente el registro
聽 聽aOrigen:=ArrTranspose( oCn:Execute( "SELECT DESCRIP FROM TABLAS WHERE QT = 'O' ORDER BY DESCRIP" ) )[ 1 ] //Llena la tabla con una columna
聽 聽nMesP:=2
聽 聽oRs:=oCn:Query( "SELECT * FROM PLANILLA WHERE MESP = ? ORDER BY CODIGO",{nMesP}) 
聽 聽nMesP:=3
聽 聽oRs:ReQuery({nMesP}) //Para recargar la tabla
聽 聽oRs:Refresh() 
聽 聽oCn:Insert("PLANILLA","MESP,CODIGO,NOMBRE",{cMesP,nCOD,cNOM} ) //Insertat registro
聽 聽oRs:Delete() //Borrar el registro actual
聽 聽oCn:Execute( "DELETE FROM PLANILLA WHERE `CODIGO` LIKE '1%'" ) //Para borrar con condici贸n
聽 聽oRs:UPDATE("CAMPO1,CAMPO2",{nDATO1,cDATO2}) //Actualizar datos
//Si a煤n sigue con DBF y quiere dar el gran salto. descargar de aqu铆 el motor MariaDB
https://mariadb.org/download/?t=mariadb&p=mariadb&r=11.1.0&os=windows&cpu=x86_64&pkg=msi&m=insacom

//Si quiere pasar todas sus DBF con datos a SQL utilice DBF2SQL de Kleyber Descargar de aqu铆:
https://drive.google.com/file/d/1vC32WQL1zuqHetm8IHxL-ogBES0Xp9qm/view?usp=sharing

//Quiz谩s alguien sepa de otro m茅todo para pasar de DBF a SQL.

Espero le sirva o ayude a alguien
Saludos,



Adhemar C.
Posts: 105
Joined: Sat Jan 14, 2012 03:46 PM
Re: Pasar de TDolphin a FWHMariaDB
Posted: Tue May 09, 2023 09:05 AM
Personalmente para migraciones utilizo la excelente utilidad de (X)ailer, xaSQLite

B煤squenla por la red...

Permite importar masivamente tablas DBF a SQLite y posteriormente exportar la base de datos a MySQL/MariaDB

En desarrollos grandes (tipo ERP) es muy interesante compaginar las DBF con una BD SQLIite, ya que poco a poco podemos ir migrando a SQLite, con un 煤nico fichero al estilo de una DBF, incluso compaginar los 2 mundos, con los RDD adecuados (Busquen HDO del amigo xManuel :)

Saludos
Fivewinner desde 1.9, programador PHP y Javascript, PWA & HTML5 evangelista
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: Pasar de TDolphin a FWHMariaDB
Posted: Wed May 10, 2023 04:22 PM

Hola Ademar, saludos.

Gracias por el aporte.

He estado tentado a hacer el cambio de TDOLPHIN a la clase nativa, pero para ser sincero, he leido el foro y veo que el uso de la misma como que es complicado, de hecho vi en un post que un coloega desisti贸 de usarla; o quiz谩s sea cuestion de cambiarse el chip con tdolphin. En todo caso la curva de aprendizaje parece ser un poco cuesta arriba.

驴Donde se puede conseguir documentacion paso a paso de la clase de mr rao y si es posible con algunos ejemplos con consultas complejas?

Espero no estar pidiendo mucho.

Muchas Gracias !

"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: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Pasar de TDolphin a FWHMariaDB
Posted: Wed May 10, 2023 09:37 PM
Estimado Jos茅

No comparto lo de complicado. A mi parecer es sencillo. Y con respuesta al instante de Mr. Rao para darnos soporte.

Lo que se tiene que hacer es interpretar el uso de ClipValue2SQL que se usa bastante en TDolphin.

Las consultas son similares tantos las sencillas como en las complejas.

Lamentablemente los links de la documentaci贸n de FiveWiki est谩n ca铆dos :(
https://forums.fivetechsupport.com/viewtopic.php?f=6&t=33304&sid=341f0805e2bc71dec3a11368a9dfaeec&sid=9b16f85d0d9bbf89e948c89e427acbc8#p219418

Mr. Rao Please review them
Saludos,



Adhemar C.
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: Pasar de TDolphin a FWHMariaDB
Posted: Wed May 10, 2023 11:24 PM

Ok, bueno, intentemosle a ver...

Esperemos que mr rao reactive los enlaces

Iremos probando, soy de los que piensa que mientras menos lbrerias o recursos de 3ros se usen es mejor, sin dejar de reconocer y agradecer esos aportes.

"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: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Pasar de TDolphin a FWHMariaDB
Posted: Thu May 11, 2023 12:23 PM
Full documentation is available in the forums also:
https://forums.fivetechsupport.com/viewtopic.php?f=3&t=33286
Regards



G. N. Rao.

Hyderabad, India
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Pasar de TDolphin a FWHMariaDB
Posted: Thu May 11, 2023 12:36 PM
Exporting tables from DBF to MySql/MariaDB using FWMariaDB library is as simple as:
Code (fw): Select all Collapse
aDbf := DIRECTORY( "c:\mydata\*.dbf" )
AEval( aDbf. { |a| oCn:ImportFromDBF( "c:\mydata\" + a[ 1 ] ) } )
Done.
Regards



G. N. Rao.

Hyderabad, India
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Pasar de TDolphin a FWHMariaDB
Posted: Thu May 11, 2023 02:30 PM

Thanks very much Mr. Rao

Saludos,



Adhemar C.
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Pasar de TDolphin a FWHMariaDB
Posted: Fri May 12, 2023 06:50 AM
ClipValue2SQL

Corresponding in FW is oCn:ValToSQL()

But when you start using FW MySql, you will not find the need to use ClipValue2SQL() or its equivalent. In fact, you will find it not necessary even to prepare SQL statements in most cases.

Please give me a small example using ClipValue2SQL()
Regards



G. N. Rao.

Hyderabad, India
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Pasar de TDolphin a FWHMariaDB
Posted: Fri May 12, 2023 12:07 PM
Thanks Mr. Rao

I have not needed oCn:ValToSQL()
Code (fw): Select all Collapse
oEMPL:=oServer:Query("SELECT * FROM DATPER WHERE IDSECT = " + ClipValue2SQL( nCC ) + " AND !lOUT ORDER BY CODIGO")
//I did it like this
oEMPL:=oCn:Query("SELECT * FROM DATPER WHERE IDSECT = ? AND !lOUT ORDER BY CODIGO",{ nCC} )

Other case
oEMPL:= oServer:Query( "SELECT COUNT(*) AS NumRecs FROM ext_otr1 WHERE fec_ing BETWEEN &1 AND &2", { ClipValue2SQL( dDate1 ), ClipValue2SQL( dDate2 ) } )
//
oEMPL:= oCn:Query( "SELECT COUNT(*) AS NumRecs FROM ext_otr1 WHERE fec_ing BETWEEN &1 AND &2", { dDate1, dDate2 聽} )
Saludos,



Adhemar C.

Continue the discussion