Page 3 of 4
Re: Pasar tablas SQL Server a DBF
Posted: Sun Jul 16, 2017 3:38 pm
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
Re: Pasar tablas SQL Server a DBF
Posted: Sun Jul 16, 2017 3:53 pm
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
Re: Pasar tablas SQL Server a DBF
Posted: Sun Jul 16, 2017 5:36 pm
by nageswaragunupudi
Code: Select all | Expand
FW_AdoImportFromDBF( oCn, "c:\fwh\samples\states.dbf" ) // use lower case
oRs := FW_OpenRecordSet( oCn, "states" )
XBROWSER oRs
Re: Pasar tablas SQL Server a DBF
Posted: Tue Jul 18, 2017 5:52 pm
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
//----------------------------------------------------------------//
Re: Pasar tablas SQL Server a DBF
Posted: Wed Jul 19, 2017 1:13 pm
by Compuin
Cristobal,
Tendra alguna sugerencia para leer varios DBF e Importar a MySql?
Re: Pasar tablas SQL Server a DBF
Posted: Wed Jul 19, 2017 1:18 pm
by cnavarro
Por qué no puedes usar el codigo de Mr Rao?
No he entendido el problema que tienes con tu codigo anterior
Re: Pasar tablas SQL Server a DBF
Posted: Wed Jul 19, 2017 1:22 pm
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
Re: Pasar tablas SQL Server a DBF
Posted: Wed Jul 19, 2017 1:24 pm
by cnavarro
Pero te conecta correctamente al servidor?
Re: Pasar tablas SQL Server a DBF
Posted: Wed Jul 19, 2017 1:30 pm
by cnavarro
El problema lo tienes, porque lo estás haciendo al revés
La instrucción
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
Re: Pasar tablas SQL Server a DBF
Posted: Wed Jul 19, 2017 1:34 pm
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
Re: Pasar tablas SQL Server a DBF
Posted: Wed Jul 19, 2017 1:35 pm
by cnavarro
Has leido mi post anterior?
Re: Pasar tablas SQL Server a DBF
Posted: Wed Jul 19, 2017 1:35 pm
by Compuin
cnavarro wrote:El problema lo tienes, porque lo estás haciendo al revés
La instrucción
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?
Re: Pasar tablas SQL Server a DBF
Posted: Wed Jul 19, 2017 1:37 pm
by Compuin
Compuin wrote:cnavarro wrote:El problema lo tienes, porque lo estás haciendo al revés
La instrucción
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
Re: Pasar tablas SQL Server a DBF
Posted: Wed Jul 19, 2017 1:39 pm
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 ] ) ) } )
Re: Pasar tablas SQL Server a DBF
Posted: Wed Jul 19, 2017 1:40 pm
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