comando Seek en vista remota a db mysql

241 views
Skip to first unread message

Patricio.Arguello

unread,
Sep 30, 2010, 5:37:15 PM9/30/10
to vfoxpro
Att Amigos de Fox
 
A duras penas estoy exportando mis archivos dbf a una db ( base de datos) mysql, lo estoy haciendo de esta forma.
 
1- abro la tabla dbf, y con el comando  
       copy to <nombretabla.txt>  delimited
    con esto estoy pasando mis datos a txt
 
2- Instale el WAMPSERVER  y  el driver odbc de Mysql, MySQL ODBC 5.1 Driver
 
3- En Mysql, tuve q crear la base de datos y todas las tablas ( a mano ) e Importar los datos de la tabla con los archivos txt del paso 1
 
4- En foxpro, cree una bd y conecte a la db de Mysql, luego cree la vista de cada tabla que tenia creado (ej  vi_cliente).
 
5- Reemplaze mis tablas locales , por las vistas.
 
6-  Todas las referencias a las tablas locales reemplaze por los nombre de las vistas. Tambien en las cuadriculos.
 
Ahora bien, no me funciona los Seek, porque en realizada no se como asignarle nombres a mis indices, o si en relidad el seek no funciona con
las vistas.
o tengo que usar locate for , para ubicarme en el registro correcto.
 
Favor si alguien que haya hecho la migracion a myql, me pude ayudar a hacerlos de una forma mas sencilla.
 
Slds. Patricio 

Carlos Miguel FARIAS

unread,
Sep 30, 2010, 8:48:28 PM9/30/10
to publice...@googlegroups.com
Las vistas remotas solo te pueden servir para hacer barridos de la tabla/s (procesos secuenciales) scan o while, pero cuidado, no te van a funcionar rapido, porque no utilizas los indices del mysql.
Para poder trabajar rapido debes reenfocar todo tu sistema a SQL Passthru o Cursores adapters.
Las vistas remotas pueden ser piolas para hacer la migracion (insertar en, etc.) pero luego lo demas, van a ser muy ineficientes.

Luis Maria Guayan

unread,
Oct 1, 2010, 7:59:04 AM10/1/10
to publice...@googlegroups.com
Cuando trabajas con Cliente-Servidor, debes olvidarte de muchos comandos de VFP, como LOCATE, SEEK, SET FILTER, etc.

Deberias crear tus vistas parametrizadas para las búsquedas directamente en MySQL (o el motor de DB elegido).

Las sentencias de tus vistas remotas, o SPT (SQL Pass Through) deberian de tener una clausula WHERE como por ejemplo para buscar el código "0123" en la tabla Clientes

lcCodigo = "0123"
SELECT * FROM Clientes WHERE Clientes.Codigo = ?lcCodigo


Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

 

Hugo C.

unread,
Oct 1, 2010, 12:17:25 PM10/1/10
to Comunidad de Visual Foxpro en Español
Es verdad lo que comenta Luis Ma...

Debes de pensar en "cliente servidor" y olvidarte de
las aplicaciones "monoliticas".

checa este Link

http://www.portalfox.com/index.php?name=News&file=article&sid=970

Saludos.

On 30 sep, 15:37, "Patricio.Arguello" <patarguello2...@hotmail.com>
wrote:
Reply all
Reply to author
Forward
0 new messages