Hola a Todos..
Estoy empezando a investigar un poco (en la medida que me da el tiempo) como trabajar con visual fox y
Mariadb. Se que hay librerias como FoxyDb y otras que ayudan mucho, pero antes de meterme con la librería quería saber por lo menos como trabaja.
Algo que me tiene desconcertado es que cuando utilizo las sentencias a continuación anda bien:
lcCadena="Driver={MariaDB ODBC 3.0 Driver};Server=127.0.0.1;UID=root;PWD=admin;DATABASE=test;Port=3306;"
lnHandle=SQLSTRINGCONNECT(lcCadena)
if lnHandle>0
SQLEXEC(Handle,"Select * from cliente”,"curCliente")
endif
….etc..
***************************************
Pero cuando utilizo:
lnHandle=SQLSTRINGCONNECT(lcCadena,.t.) && conecta correctamente
SQLEXEC(lnHandle, "Select * from cliente”,"curCliente") && aquí me cierra el vfp con un error de excepcion

Porque puede pasar eso y cual es el inconveniente si utilizaría siempre el SQLSTRINGCONNECT(lcCadena) sin .t.?
Gracias de antemano!
Pablo Flores
Enviado desde Correo para Windows 10
Gracias Antonio..
Pero el driver 5.1 de MySQL anda bien para mariaDB?
Que motor me recomendas?
Actualmente estoy trabajando con tablas nativas de vfp.
Cuando hago select xxx from mitabla, muchas veces les hago un join contra cursores ya en memoria.
Lo mismo para los Update.. Actualizo las tablas mediante los comandos sql pero haciendo join o usando la clausula IN
De cursores indexados y esto me deba una respuesta muy buena en tiempos.
El foxydb trabaja de esta manera para los Select y update o lo hace registro a registro?
Se puede hacer lo mismo en un sgbd (actualizarlo mediante join a cursores de vfp)?
Gracias nuevamente por su tiempo
Saludos
--
Visita el Blog de la Comunidad Visual FoxPro en Español:
http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a
publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita
https://groups.google.com/d/msgid/publicesvfoxpro/d6b87b7e-0aef-4c9b-81ea-29c657469ef5%40googlegroups.com.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publice...@googlegroups.com.
Hoy por hoy estoy trabajando asi con base de dato nativa en vfp
Por ej:
Select xxx from t1 where … && me regresa un cursor
Luego a ese cursor le hago modificaciones varias por medio del usuario, sea manual o por procesos
Por lo general (y con buenos resultados) elimino todos los registros que no se deben actualizar del cursor
Y después, sea una modificación u otra consulta realizo otro sentencia sql con un “join” sobre ese cursor o usando la clausula “in” que referencia al cursor.
Ej1:
SELECT * FROM cliente INNER JOIN curAuxi ON cliente.id=curAuxi.id INTO CURSOR c1 && este curauxi sale de otros Cursores
Cuando indexo estos cursores por el campo de coneccion, los resultados son muy rapidos
Lo mismo para los Update:
UPDATE pre_art
SET precio= precio*(100/curArt.mon_costo)
from pre_art
inner join
(Select id, mon_costo from articulo WHERE id_moneda=xx ) curArt
on pre_art.id_articulo=curArt.id
En esta instrucción también es rápida y esos cursor (curArt) puede ser resultado de un select de cursores o sobre las mismas tablas
De esta manera actualizo en bloque y no mediante un scan que lo haga registro por registro
No se si esta técnica es buena o no, pero me soluciono temas de demoras.. lo que no se si se puede hacer lo mismo con mariadb u otros motores.
Saludos
De: Cesar Luque
Enviado: martes, 12 de mayo de 2020 17:29
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] Re: Error con MariaDB
Hola Pablo
--
Visita el Blog de la Comunidad Visual FoxPro en Español:
http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a
publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita
https://groups.google.com/d/msgid/publicesvfoxpro/1be9ee90-90ac-41c8-b1c9-87b3669de523%40googlegroups.com.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publice...@googlegroups.com.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publice...@googlegroups.com.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publice...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/c4fbc2aa-f508-4ac4-8859-571787066626%40googlegroups.com.