Tengo tablas dbf de más de una empresa y ahora quiero unirlas todas en una sola tabla en mysql además de crear la tabla donde esta tabla aún no existe en mysql. Otro detalle que no serán todos los campos existentes en la tabla dbf por eso aprovecho para eliminar campos innecesarios. Estoy intentando con el siguiente código:
- Code: Select all Expand view
#include "fivewin.ch"
#include "dbcombo.ch"
#include "dtpicker.ch"
function main()
local cBaseDir := "C:\fwh\samples\" , cTabela := "customer" , aStruct:={}
oCn := FW_DemoDB(6)
if !oCn:TableExists( "test000" )
aStruct:={}
aadd( aStruct, {"FIRST" , "C", 20, 0})
aadd( aStruct, {"CITY" , "C", 30, 0})
aadd( aStruct, {"STATE" , "C", 2, 0})
aadd( aStruct, {"ZIP" , "D", 10, 0})
aadd( aStruct, {"SALARY" , "N", 9, 2})
oCn:CreateTable( "test000" ,aStruct , .T. )
endif
if oCn:TableExists( "test000" )
MsgWait("Aguarde importando a tabela : "+cTabela, "Aguarde",2 )
oRec := oCn:RowSet( "select * from test000 " )
oDbf :=TDataBase():Open( nil, cBaseDir+cTabela, "dbfcdx", .F. )
oCn:SetAutoCommit( .f. )
While !oDbf:Eof()
oRec:Append()
oRec:FIRST := oDbf:FIRST
oRec:CITY := oDbf:CITY
oRec:STATE := oDbf:STATE
oRec:ZIP := oDbf:ZIP
oRec:SALARY := oDbf:SALARY
oRec:Save()
oDbf:Dbskip()
enddo
oCn:SetAutoCommit( .t. )
endif
xbrowser oCn:test000
oCn:DropTable( "test000" )
XBROWSER oCn:ListTables TITLE "SELECT TO VIEW"
return .t.