Saludos!
Aparentemente funciona bien el siguiente codigo, lo que intento hacer es realizar 2 conexiones a 2 bases con nombres distintos pero con la tabla igual entre si, entonces debo actualizar los datos ó extrarer los datos mejor dicho e ingresarlas a la otra tabla vacia,
El código si realiza lo que le pido, solo que me aparece un error de mysql al final del barrido, como podria solucionarlo?
Este es el codigo:
********Me conecto a la primera base de datos mysql***********************
lcStringConn="Driver={MySQL ODBC 5.1 Driver};Port3306"+;
";Server="+lcServer+;
";Database="+"gestionsocial"+;
";Uid="+lcUser+;
";Pwd="+lcPassWord
lHandle2=SQLSTRINGCONNECT(lcStringConn) &&& ERROR &&&
IF lHandle2 > 0
WAIT WINDOW STR(lHandle2)
sqlexec(lHandle2,"use solicitud_mod3")
SQLEXEC(lHandle2,"select *from solicitud_mod3","c1")
SELECT * FROM c1 ORDER BY folio INTO CURSOR cc1
SELECT cc1
BROWSE
LOCAL fo
fo=cc1.folio
?fo
ELSE
WAIT WINDOW "Error al conectarse"
ENDIF
************************Me conecto a la segunda base de datos*********************
lcStringConn="Driver={MySQL ODBC 5.1 Driver};Port3306"+;
";Server="+lcServer+;
";Database="+"gessoc13"+;
";Uid="+lcUser+;
";Pwd="+lcPassWord
***Evitar que aparezca la ventana de login
SQLSETPROP(0,"DispLogin",3)
lHandle=SQLSTRINGCONNECT(lcStringConn) &&& ERROR &&&
IF lHandle > 0
cTabla2="Solicitud_mod3"
*WAIT WINDOW STR(lHandle)
sqlexec(lhandle,"use "+cTabla2)
SQLEXEC(lhandle,"select *from "+cTabla2+" ORDER BY folio ASC","c2")
****************************Aquí empiezo la transaccion de datos, dependiendo si existe ya en la tabla o no ******************************
DO WHILE !EOF()
WAIT WINDOW fo
SELECT folio FROM c2 WHERE folio=c1.folio INTO CURSOR c3 nofilter
IF RECCOUNT()>0
ELSE
WAIT WINDOW "nuevo"
=SQLSETPROP(lhandle,'Transactions',1)
lcIns="INSERT INTO "+'&cTabla2'+" (select *from gestionsocial.solicitud_mod3) where "
WAIT WINDOW "Datos Agregados con éxito" TIMEOUT .8
IF SQLExec(lhandle,lcIns) < 0
IF AERROR(laError) > 0
Messagebox("Error:"+laError[2])
ELSE
Messagebox("UnHandled Error..")
ENDIF
ELSE
ENDIF
ENDIF
SELECT c1
SKIP
fo=c1.folio
?fo
ENDDO
ENDIF
SQLDISCONNECT(lhandle2)
SQLDISCONNECT(lhandle)
Este es el error:
