Pasar de TDolphin a FWHMariaDB

Pasar de TDolphin a FWHMariaDB

Postby acuellar » Mon May 08, 2023 8: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: Select all  Expand view

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.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Pasar de TDolphin a FWHMariaDB

Postby Joaquim Ferrer » Tue May 09, 2023 9: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
User avatar
Joaquim Ferrer
 
Posts: 105
Joined: Sat Jan 14, 2012 3:46 pm
Location: Barcelona

Re: Pasar de TDolphin a FWHMariaDB

Postby JoseAlvarez » Wed May 10, 2023 4: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.
User avatar
JoseAlvarez
 
Posts: 795
Joined: Sun Nov 09, 2014 5:01 pm

Re: Pasar de TDolphin a FWHMariaDB

Postby acuellar » Wed May 10, 2023 9: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.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Pasar de TDolphin a FWHMariaDB

Postby JoseAlvarez » 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.
User avatar
JoseAlvarez
 
Posts: 795
Joined: Sun Nov 09, 2014 5:01 pm

Re: Pasar de TDolphin a FWHMariaDB

Postby nageswaragunupudi » Thu May 11, 2023 12:23 pm

Full documentation is available in the forums also:
viewtopic.php?f=3&t=33286
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10640
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Pasar de TDolphin a FWHMariaDB

Postby nageswaragunupudi » Thu May 11, 2023 12:36 pm

Exporting tables from DBF to MySql/MariaDB using FWMariaDB library is as simple as:
Code: Select all  Expand view
aDbf := DIRECTORY( "c:\mydata\*.dbf" )
AEval( aDbf. { |a| oCn:ImportFromDBF( "c:\mydata\" + a[ 1 ] ) } )

Done.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10640
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Pasar de TDolphin a FWHMariaDB

Postby acuellar » Thu May 11, 2023 2:30 pm

Thanks very much Mr. Rao
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Pasar de TDolphin a FWHMariaDB

Postby nageswaragunupudi » Fri May 12, 2023 6: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
User avatar
nageswaragunupudi
 
Posts: 10640
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Pasar de TDolphin a FWHMariaDB

Postby acuellar » Fri May 12, 2023 12:07 pm

Thanks Mr. Rao

I have not needed oCn:ValToSQL()
Code: Select all  Expand view

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.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: nageswaragunupudi and 53 guests