Buenos dias:
Gracias por la atencion, estoy pasando registros de una tabla (art-a.dbf) a una tabla que esta en mi motor postgresql llamada art_a asi:
PUBLIC gnConnHandle
lcServidor = '192.168.1.10' && dominio o ip del servidor
lcBaseDatos = 'inventario' && nombre de la base de datos
lcPuerto = '5432' && pueto del servidor, defautl 5432
usu = 'postgres' && usuario del servidor
pass = 'altasierra' && password del usuario
lcCnxStr = 'DRIVER={PostgreSQL ansi};SERVER=' + lcServidor +;
';port=' + lcPuerto + ';DATABASE=' + lcBaseDatos +;
';UID=' + usu +;
';PWD='+ pass +';'
gnConnHandle = SQLSTRINGCONNECT(lcCnxStr) && intenta establecer la comunicación con el servidor
IF gnConnHandle = -1 && errores ?
=MESSAGEBOX('Usuario o contraseña incorrectos',16,':: Error en la conexión ::')
ENDIF
SQL1=SQLEXEC(gnConnHandle,'delete from art_a')
SELECT 1
use art-a
GO TOP
SCAN
SCATTER MEMVAR
M.TIP_CAMB=M.TIP_CAMD
TEXT TO VARGRA TEXTMERGE NOSHOW PRETEXT 15
INSERT INTO art_a (CODIGO,DESCRIPC,CAMBIO,NANDINA,GRUPO,CLAVE,FACT_VTA,COS_FAB,PRECOSD_A,PRECOSD,DOLAR,TIP_CAMB,VALORV,LOCALIZA,STKACT,SDO_REAL,STKMIN,FECHA,S_INICIAL,INGRANO,EGRANO) VALUES (?M.CODIGO,?M.DESCRIPC,?M.CAMBIO,?M.NANDINA,?M.GRUPO,?M.CLAVE,?M.FACT_VTA,?M.COS_FAB,?M.PRECOSD_A,?M.PRECOSD,?M.DOLAR,?M.TIP_CAMB,?M.VALORV,?M.LOCALIZA,?M.STKACT,?M.SDO_REAL,?M.STKMIN,?M.FECHA,?M.S_INICIAL,?M.INGRANO,?M.EGRANO)
ENDTEXT
SQL1=SQLEXEC(gnConnHandle,VARGRA)
ENDSCAN
use
les comentare que lo hace Ok, pero el problema es que es muy lento (son 1973 registros), me preguntaba si hay otra forma de hacer lo mismo pero optimizado, lei algunos articulos sobre txt a postgresql pero probando no me sale nada, se que algo estoy haciendo mal, me podrian dar una ayuda por favor.
NOTA: MIS HERRAMIENTAS SON VFP9 Y POSTGRESQL 8.3
JRCORONADO