Copiar de un cursor en vfp a una tabla en mysql

Tengo un programa en el que cargo desde un archivo de texto a un cursor para visualizarlo, para luego grabarlos a la tabla definitiva, el problema es que cambie mi bd a mysql, y no se con que instrucción lo puedo hacer, en vfp lo hago con append from dbf (nombrecursor),. Con cursores pequeños lo hago haciendo un scan en el cursor y por cada uno le mando la instrucción insert con el sqlexec, pero estas tablas son mucho más grandes y el proceso con el scan se puede hacer lento.
¿Hay alguna forma de hacerlo?

1 respuesta

Respuesta
1
¿Resolviste el problema?
Pues lo hice haciendo el scan de la tabla temporal de visual fox pro, y por cada registro hacer el sqlexec para guardar en la tabla de mysql, el problema es que cuando hay cerca de 1000 registros se hace lento el proceso de guardar.
Para grandes cantidades de registros obviamente esa no es la solución, la solución correcta es una como la siguiente:
Local lcConnectHandle, lcSQLConsulta
lcConnectHandle = SQLConnect("NombreOrigendeDatos")
If lcConnectHandle > 0
lcSQLConsulta = "Select * From NombreTabla"
=SQLexec(lcConnectHandle,lcSQLConsulta, "MiCursor")
* Ahora para actualizar los datos en la tabla de origen
* hay que establecer ciertas propiedades con la función
* CursorSetProp.
=CursorSetProp("Buffering" 5, "MiCursor")
=CursorSetProp("SendUpdates" .T., "MiCursor")
=CursorSetProp("Table", "NombreTabla", "MiCursor")
* Debes establecer todas las demás propiedades con CursorSetProp para
* actualizar la tabla remota Consultar sobre la función
* en la ayuda de Visual FoxPro.
* Ahora se agrega los datos al cursor MiCursor con
* Append From
Select MiCursor
Append From Cursor CursorOrigen
=TableUpdate(.T.)
Endif
Esta es una forma más eficaz de actualizar datos en una tabla remota.
Espero haberme hecho entender y que esto te sirva de ayuda...
Hola y Gracias por la respuesta
El tema es que tengo un procedimiento en donde cargo datos desde un archivo .txt estoy utilizando vfp enlazado con mysql, en visual fox cargo a un cursor temporal los datos del .txt, una vez que tengo los datos en mi cursor temporal y teniendo en cuenta algunos criterios, decido si lo cargo en la tabla de mysql o no.
Esto que me dices de cursorsetprop también lo puedo hacer al cursor temporal de vfp.
Gracias
Por supuesto las propiedades que te indiqué anteriormente son para indicarle a la tabla de MySQL o de cualquier tabla distinta a las de Visual FoxPro en un origen de datos que va a ser actualizada desde un cursor (hay que aclarar que todo cursor es una tabla temporal).
Estamos hablando...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas