Pasar tablas SQL Server a DBF

User avatar
nageswaragunupudi
Posts: 10721
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Been thanked: 8 times
Contact:

Re: Pasar tablas SQL Server a DBF

Post by nageswaragunupudi »

Excluding the CASE Table, export was successful.

The problem may be because CASE is a reserved word.
This name will keep creating problems in any other database too, Please consider renaming the table
Regards

G. N. Rao.
Hyderabad, India
User avatar
Compuin
Posts: 1252
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada
Has thanked: 7 times
Been thanked: 3 times

Re: Pasar tablas SQL Server a DBF

Post by Compuin »

nageswaragunupudi wrote:If you are using ADO for MySql, you can use FW_AdoImportFromDBF()
If you are using FWMYSQL for connecting to MySql, you can use oCn:ImportFromDBF()



Thanks

Do you have an example to use FW_AdoImportFromDBF() ?

I tried with the sample from wiki and it didn't work
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
User avatar
nageswaragunupudi
Posts: 10721
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Been thanked: 8 times
Contact:

Re: Pasar tablas SQL Server a DBF

Post by nageswaragunupudi »

Code: Select all | Expand


FW_AdoImportFromDBF( oCn, "c:\fwh\samples\states.dbf" )  // use lower case
oRs := FW_OpenRecordSet( oCn, "states" )
XBROWSER oRs
 
Regards

G. N. Rao.
Hyderabad, India
User avatar
Compuin
Posts: 1252
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada
Has thanked: 7 times
Been thanked: 3 times

Re: Pasar tablas SQL Server a DBF

Post by Compuin »

nageswaragunupudi wrote:

Code: Select all | Expand


FW_AdoImportFromDBF( oCn, "c:\fwh\samples\states.dbf" )  // use lower case
oRs := FW_OpenRecordSet( oCn, "states" )
XBROWSER oRs
 


Thanks Mr Rao,

It's work for just one dbf but I have 2014 dbf to import into MySql.

Which is the best way to do it for several dbfs ?

I'm doing on this way but it doesn't work

Code: Select all | Expand

#include "FiveWin.ch"

//----------------------------------------------------------------//

REQUEST DBFCDX

function Main()
   local cServer     := "localhost"
   local cDatabase   := "SBODemoUS"
   local cUser       := "root"
   local oCn, oRs, aTables, cTable
   
   oCn := FW_OpenAdoConnection( "MYSQL, localhost, SBODemoUS, root", .t. )
   
   if oCn == nil
      ? "Connect Fail"
   else
      ? "connected"
   endif

   aTables := FW_AdoTables( oCn )          
   
   if oCn == nil
      ? "Connect Fail"
   else
      XBROWSER aTables
   endif  
   
   for each cTable in aTables
      FW_AdoImportFromDBF( oRs, cFileSetExt( cTable, "dbf" ), .t. )
      oRs   := FW_OpenRecordSet( oCn, cTable )
      oRs:Close()
   next  
 
   ? "IMPORTACION FINALIZADA"
       
   oCn:Close()

return nil
//----------------------------------------------------------------//
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
User avatar
Compuin
Posts: 1252
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada
Has thanked: 7 times
Been thanked: 3 times

Re: Pasar tablas SQL Server a DBF

Post by Compuin »

Cristobal,

Tendra alguna sugerencia para leer varios DBF e Importar a MySql?
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
User avatar
cnavarro
Posts: 6557
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Been thanked: 3 times

Re: Pasar tablas SQL Server a DBF

Post by cnavarro »

Por qué no puedes usar el codigo de Mr Rao?

No he entendido el problema que tienes con tu codigo anterior
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
Compuin
Posts: 1252
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada
Has thanked: 7 times
Been thanked: 3 times

Re: Pasar tablas SQL Server a DBF

Post by Compuin »

cnavarro wrote:Por qué no puedes usar el codigo de Mr Rao?

No he entendido el problema que tienes con tu codigo anterior


Tengo varios Dbf (son mas de 2000) y el codigo de Mr Rao es solo para un Dbf

Alli es donde me tranque
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
User avatar
cnavarro
Posts: 6557
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Been thanked: 3 times

Re: Pasar tablas SQL Server a DBF

Post by cnavarro »

Pero te conecta correctamente al servidor?
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
Posts: 6557
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Been thanked: 3 times

Re: Pasar tablas SQL Server a DBF

Post by cnavarro »

El problema lo tienes, porque lo estás haciendo al revés

La instrucción

Code: Select all | Expand


aTables := FW_AdoTables( oCn )
 

es incorrecta, eso te devuelve las tablas que hay en el servidor, y tú necesitas los dbf que vas a importar

Tienes que leer todos los dbf para pasárselos a la function de importación

Code: Select all | Expand



aTables := HB_dirScan( cPath, "*.dbf", "A" )   // Por ejemplo
XBrowse( aTables )
 


Después haces un For .... Next y le vas aplicando cada elemento de la tabla a la function de importacion ( ojo con añadirle el path al nombre si es necesario ), todo en minúsculas eso si
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
Compuin
Posts: 1252
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada
Has thanked: 7 times
Been thanked: 3 times

Re: Pasar tablas SQL Server a DBF

Post by Compuin »

cnavarro wrote:Pero te conecta correctamente al servidor?


Si

El programa funciona y conecta pero no puede importar el Dbf a la base de datos de mysql
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
User avatar
cnavarro
Posts: 6557
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Been thanked: 3 times

Re: Pasar tablas SQL Server a DBF

Post by cnavarro »

Has leido mi post anterior?
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
Compuin
Posts: 1252
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada
Has thanked: 7 times
Been thanked: 3 times

Re: Pasar tablas SQL Server a DBF

Post by Compuin »

cnavarro wrote:El problema lo tienes, porque lo estás haciendo al revés

La instrucción

Code: Select all | Expand


aTables := FW_AdoTables( oCn )
 

es incorrecta, eso te devuelve las tablas que hay en el servidor, y tú necesitas los dbf que vas a importar

Tienes que leer todos los dbf para pasárselos a la function de importación

Code: Select all | Expand



aTables := HB_dirScan( cPath, "*.dbf", "A" )   // Por ejemplo
XBrowse( aTables )
 


Después haces un For .... Next y le vas aplicando cada elemento de la tabla a la function de importacion ( ojo con añadirle el path al nombre si es necesario ), todo en minúsculas eso si



Tengo los Dbf en el mismo directorio que el ejecutable....no necesito path alli?
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
User avatar
Compuin
Posts: 1252
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada
Has thanked: 7 times
Been thanked: 3 times

Re: Pasar tablas SQL Server a DBF

Post by Compuin »

Compuin wrote:
cnavarro wrote:El problema lo tienes, porque lo estás haciendo al revés

La instrucción

Code: Select all | Expand


aTables := FW_AdoTables( oCn )
 

es incorrecta, eso te devuelve las tablas que hay en el servidor, y tú necesitas los dbf que vas a importar

Tienes que leer todos los dbf para pasárselos a la function de importación

Code: Select all | Expand



aTables := HB_dirScan( cPath, "*.dbf", "A" )   // Por ejemplo
XBrowse( aTables )
 


Después haces un For .... Next y le vas aplicando cada elemento de la tabla a la function de importacion ( ojo con añadirle el path al nombre si es necesario ), todo en minúsculas eso si



Tengo los Dbf en el mismo directorio que el ejecutable....no necesito path alli?


Voy a probar y te comento
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
User avatar
cnavarro
Posts: 6557
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Been thanked: 3 times

Re: Pasar tablas SQL Server a DBF

Post by cnavarro »

El for seria algo asi

Code: Select all | Expand



   For x =1 to Len( aTables )

        FW_AdoImportFromDBF( oCn, lower( aTables[ x ][ 1 ] ) )

   Next x

 


O incluso

Code: Select all | Expand


    AEVal( aTables, { | a | FW_AdoImportFromDBF( oCn, lower( a[ 1 ] ) ) } )

 
Last edited by cnavarro on Wed Jul 19, 2017 1:41 pm, edited 1 time in total.
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
Compuin
Posts: 1252
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada
Has thanked: 7 times
Been thanked: 3 times

Re: Pasar tablas SQL Server a DBF

Post by Compuin »

Colocandolo asi

Code: Select all | Expand

aTables := HB_dirScan( "*.dbf", "A" )   // Por ejemplo
   XBrowse( aTables )


Me trae el Xbrowse vacio

Los dbf estan en el mismo directorio del ejecutable
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Post Reply