Mucho tiempo para abrir tablas con FoxyDb en MySql remoto

972 views
Skip to first unread message

Juan Cueli

unread,
Mar 5, 2023, 3:55:46 PM3/5/23
to Comunidad de Visual Foxpro en Español
Hola, quisiera saber si con foxyDb hay algo que se pueda hacer para resolver un tema que estoy teniendo.... para una base de datos que se encuentra en un servidor online, cuando hago un select a una tabla vacia, me esta demorando por lo menos 1 segundo para abrir la tabla. En la imagen adjunta se puede ver que si abro la misma tabla 6 veces el tiempo de espera es mas o menos de 5 segundos, pero si lo hago directamente con SqlExec la misma tabla 6 ceros no dura ni un segundo.

Sera que estoy haciendo algo mal en la configuracion de FoxyDb???

en ambos casos estoy usando el driver MySQL ODBC 8.0 ANSI Driver

Repito..esa es una tabla vacia, por eso no hay ninguna condicion, esto lo hice solo para probar.



Untitled.png

Irwin Rodriguez

unread,
Mar 5, 2023, 4:26:36 PM3/5/23
to publice...@googlegroups.com
Puede ser que la librería se esté conectando y desconectando en cada petición, revisa a ver si tiene alguna propiedad que altere ese comportamiento.

Un saludo.

--
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/200ed0ff-7393-4bcb-9640-220043bb8b19n%40googlegroups.com.

Antonio Meza

unread,
Mar 5, 2023, 5:32:11 PM3/5/23
to Comunidad de Visual Foxpro en Español
Lo que te comenta Irwing puede ser posible ya que depende como hayas configurado FoxyDb si de forma automática entonces se conecta y desconecta por cada comando que envíes al servidor, o con conexión permanente que no te lo recomiendo y menos por internet.

En mi caso siempre uso conexión automática para que se conecte y desconecte, pero si requieres enviar varias instrucciones al mismo tiempo entonces debes iniciar una transacción manual para que tu indiques cuando se desconecte, por lo tanto uso esta configuración

* Configurar Parámetros de FoxyDb
.handle_Network = .f. && Conexión a la Red Permanente
.handle_Verify = .f. && Verificar estado de la red
.handle_Reconnection = .t. && Intentar Reconectar

BEGIN para iniciar transacción manual, te recomiendo de lectura ya que solo vas a realizar consultas al servidor y por lo tanto es mas rápida que una transacción de escritura, valores permitidos
1 && Transacción de Solo Lectura
2 && Transacción de Lectura y Escritura Local y Remota
3 && Transacción de Lectura y Escritura Remota

odb.Begin( 1 )
     odb.Query(....)
     odb.Query(....)
     odb.Query(....)
    ....
odb.Commit()

De esta forma englobas varias consultas que necesitas realizar en una sola conexión y cuando finalizas con el commit se desconecta.

NOTA: Cuando se usa Update() FoxyDb automáticamente inicia una transacción manual de lectura y escritura y no se desconecta del servidor hasta que finalices con un Commit() o Rollback(), incluso cuando envías un odb.Sql() o odb.Query() siempre inicia transacciones de solo lectura que como te comento son mas rápidas para el servidor de base de datos.

saludos
Antonio Meza

Antonio Meza

unread,
Mar 5, 2023, 5:34:06 PM3/5/23
to Comunidad de Visual Foxpro en Español
Se me olvido comentarte que al realizar consultas al servidor si o si debes indicar los nombres de los campos, evita enviar Select * ya que es una mala practica y se recomienda indicar todos los campos que vayas a consultar.

saludos
Antonio Meza

Antonio Lima

unread,
Mar 5, 2023, 7:30:32 PM3/5/23
to publice...@googlegroups.com
Hola, una cosa es que se demore al realizar la conexión y otra cosa es que se demore al obtener los datos.

Si el servidor a dónde te conectas es muy lento o está muy lejos, hacer una conexión nueva en cada cónsulta, fíjate lo que se va a poner lento tu sistema.  En este caso te conviene más una conexión dedicada.

Yo no uso foxyDB, y uso una solo conexión dedicada y prefiero usarlas , es mucho más rápido. Si que hay que mantener la conexión Alive pero si la mantienes , todo lo demás lo tienes hecho.

Lo que tienes que hacer para saber en dónde está la l problema es manualmente desde VFP conectarte a MySQL al servidor remoto y ver cuánto tiempo tarda   y luego hacer la consulta para abrir la tabla y ver cuánto tiempo tarda, estás pruebas se hacen sin usar el foxyDB.

Otra prueba qu puedes hacer es desde el mismo equipo es desde VFP conectarte a otro servidor y recuperar una tabla a ver si la demora es en este equipo.

Por otro lado hay una configuración del lado del servidor de MySQL que puede hacer que el N cada conexión el servidor se relentice.

Para que no resuelva el dns del usuario que se conecta , tienes que usar
Skip-name-resolve en el fichero my.ini que usa el servidor.

Si tienes dudas avísame.

--
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.

Juan Cueli

unread,
Mar 6, 2023, 9:01:45 AM3/6/23
to Comunidad de Visual Foxpro en Español
Muchas Gracias Antonio, solo con agregar la funcion begin ya tengo una diferencia del cielo a la tierra. Voy a revisar la funcion para entenderla mejor y darle mejor uso.

Por si acaso, la configuracion de los handle ya la tenia como la habias mandando, pero no recuerdo si fue porque lo cmbie o ya foxyDb lo tenia asi cuando lo descargue. De todas formas, muchas gracias.



Untitled.png

Victor Espina

unread,
Mar 6, 2023, 9:25:42 AM3/6/23
to Comunidad de Visual Foxpro en Español
No hace mucho sentido abrir una transaccion para ejectar comandos SELECT.  Las transacciones se usan para garantizar que todos los cambios relacionados con una operacion (INSERT, UPDATE, DELETE) se ejecten o, en caso de error, descartar los cambios realizados hasta ese punto.

Victor Espina

Antonio Meza

unread,
Mar 6, 2023, 9:58:51 AM3/6/23
to Comunidad de Visual Foxpro en Español
Hasta donde recuerdo todos los servidores de bases de datos inician una transacción para realizar cualquier operación en la base de datos, incluso un simple SELECT, por eso la importancia de indicarle al servidor si sera de solo lectura o de escritura.

Es decir, si envías un comando Select al servidor iniciara una transacción por ti de escritura, que requiere mas procesos, en cambio si la transacción la inicias y le indicas que sera de solo lectura el proceso sera mas rápido y desde luego se tienen que confirmar con un Commit, tal y como se hace con un Insert, Update y Delete.

saludos
Antonio Meza

mapner

unread,
Mar 6, 2023, 10:50:16 AM3/6/23
to Comunidad de Visual Foxpro en Español
Hola,

IMHO, ninguna librería DAL (Database Abstraction Layer) sea de quien sea, escrita en VFP nunca será más veloz en operar datos que los drivers de conexión que usa (por lo general ODBC, que de por si no es muy rápido) o que el estado de la red (LAN o WAN) o que el estado del servidor (motor SGBD, su configuración, su optimización de índices en las tablas y etc) por eso decir que una clase DAL de VFP es "lenta" me parece que es un error ya que se depende de muchos factores ajenos a la DAL misma. Pero, importante, a veces se configura que por cada consulta se abra una conexión nueva, se realice el comando SQL y luego se cierra esa conexión. Ese método de trabajo en VFP es "L E N T I S I M O" y entiendo que al trabajar en WAN es bastante difícil mantener una conexión abierta  permanente mientras dura la sesión de uso de la aplicación VFP. Por eso (y nuevamente IMHO) el VFP es una muy buena herramienta para trabajar cliente servidor en LAN, no se si tanto en WAN y por eso de un tiempo para acá varios de nosotros estamos migrando a otras plataformas para solventar eso.

Saludos

Victor Espina

unread,
Mar 6, 2023, 1:15:12 PM3/6/23
to Comunidad de Visual Foxpro en Español
Un SELECT genera ciertos bloqueos de lectura pero NO inicia una transaccion, hasta donde yo se. Pero no soy experto en BD.

Saludos

Victor Espina

Victor Espina

unread,
Mar 6, 2023, 1:23:12 PM3/6/23
to Comunidad de Visual Foxpro en Español
El problema de "conexion permanente" es que la misma se puede perder por multiples razones y, ademas, consume recursos del lado del servidor de datos.  Un esquema de conexion-por-demanda es generalmente la mas apropiada en ambientes LAN, porque normalmente solo la primera conexion se toma un tiempo ligeramente superior; las subsiguientes conexiones se establecen casi inmediatamente.  

Ahora, en un ambiente WAN el tema de la latencia no esta presente solo en el procedimiento de establecer la conexion sino potencialmente en cada interaccion que se haga con el servidor.  En este escenario, al menos en mi experiencia, sigue siendo mas conveniente el metodo de "conexion por demanda" ya que es mas facil manejar el escenario de posibles problemas en la red (porque lo validas al momento de intentar conectarte) pero en lugar de iniciar una transaccion, enviar dos o mas comandos DML y luego un COMMIT o ROLLBACK, es mucho mas eficiente invocar un SP que realice toda la operacion, porque estariamos reduciendo la cantidad de interacciones a 3;  conecto, ejecuto SP, desconecto.

De hecho, a nivel personal yo ya evito directamente comunicarme directamente con la BD en un ambiente WAN, sino que en su lugar uso un middleman entre la app y la BD, en forma de un webservice tipo REST, porque encuentro que es mas eficiente y me da un mejor control contra fallos en la red (a costa de una capa extra de programacion, claro).

Saludos

Victor Espina

Antonio Meza

unread,
Mar 6, 2023, 1:58:10 PM3/6/23
to Comunidad de Visual Foxpro en Español
Me incluyo en la lista que no soy un experto ni nada que se asemeje a un DBA jejejejeje

Te paso un link cuando empece a integrar FireBird a FoxyDb y como el experto en el tema es Walter Ojeda le consulte incluso ahí puedes ver mis dudas y respuestas de Walter.


NOTA: Desconozco si aplica solo a firebird pero aplique la misma técnica para los demás servidores de base de datos, de hecho en el caso de Mysql hasta la versión 5.6 acepta transacciones de solo lectura, tanto que tuve que poner una propiedad porque varios que usan FoxyDb usaban una versión de Mysql 5.5 o anterior y les marcaba error el iniciar la transacción de solo lectura.

odb.mysql_Compatibility = false && Compatibilidad con versión mysql 5.5 o menor

saludos
Antonio Meza

Antonio Meza

unread,
Mar 6, 2023, 2:03:01 PM3/6/23
to Comunidad de Visual Foxpro en Español
Lo ideal es usar una API REST o webservices cuando tu base de datos ya esta en internet, me gustan mas las API Rest, pero diseñar un Api Rest es otro mundo y añade que muchos colegas de VFP aun siguen usando DBF's por lo que implica el cambio a un servidor de base de datos, ahora migrar a un servidor de base de datos y a parte crear una API Rest ya es otro mundo!!

En cuanto a los Store Procedure si tienen sus ventajas pero también sus desventajas, no los uso, salvo en los casos de algo muy pesado que se tenga que procesar es mejor en el servidor que traerlo al cliente, pero incluso los ORM no los utilizan y por algo debe ser!!

saludos

mapner

unread,
Mar 6, 2023, 2:35:31 PM3/6/23
to Comunidad de Visual Foxpro en Español
Coincido que un API Restful es lo mas apropiado para trabajar en ambiente WAN, peeeero... obviamente hay que desarrollar un despachador del lado del servidor en algún lenguaje o plataforma web, que no es muy difícil de hacer, peeeero... hay que hacerlo... y si el amigo tienen un sistema con un acceso a datos muy diversificado (como cualquier sistema de gestión que se precie) entonces si quizá es un poquín bastante laborioso (en realidad con ciertas plantillas y el esquema de tablas y campos de la BD se puede generar el código del Controlador/Modelo de Despachador). Ah, y como si esto fuera poco, también tiene que cambiar código VFP en como obtiene y maneja los datos ya que encapsular llamadas a una API Rest implica manejar JSon de ida y vuelta y llamadas HTTP ... en fin algo para divertirse cuando irrumpe el aburrimiento...

Esteban Herrero

unread,
Mar 6, 2023, 2:58:50 PM3/6/23
to publice...@googlegroups.com

Hola Victor.

Yo trabajo con Firebird y si el Select genera una transaccion, x supuesto q al enviar la misma los permisos son diferentes de un Update/Insert, pero sí se abre y se cierra una transaccion x un Select.

Saludos

Esteban

Dsan

unread,
Mar 6, 2023, 3:09:51 PM3/6/23
to publice...@googlegroups.com

Supongo que es algun SETEO, ya que con driver inferior es mas rapido y mediante cambia el driver odbc de conexión hay que ajustar algo,  yo hace unos años probé con  mariadb y mysql 5.5 y Foxy Db trabajar rápido. 
Diría esto:
fijate los seteos que tiene foxydb y luego fijate en los tuyos en vfp SQLSETPROP.....


Saludos
DS


--
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.

Germán Fabricio Valdez

unread,
Mar 7, 2023, 1:28:38 AM3/7/23
to Comunidad de Visual Foxpro en Español
no muchachos, es un error de diseño.  que sqldata2 resuelve.  la conexion la abre y siempre que va a ejecutar una sentencia , verifica que siga abierta, si el servidor la cerro por inactividad , la vuelvo a abrir automaticamente, y si permanece abierta por mas de 15 minutos la cierro despues de la ultima sentencia enviada al servidor para  que no acumule mucha memoria en cache..
El secreto. no es abrir y cerrar a cada comando. o tener siempre abierta. es usar otras tecnicas.  sqldata2 lo resuelve automaticamente y no tienen que configurar nada, ni cambiar ningun seteo del servidor remoto.

martin bonansea

unread,
Mar 7, 2023, 5:59:44 AM3/7/23
to publice...@googlegroups.com
Hola Germán Fabricio Valdez, podrías ser más educado y responder en mejores términos. Incluso aportando algo a la consulta del colega pero que lo ayude.
No se el resto de la comunidad, pero es increíble que en cada respuesta que leo por parte tuya sea con agresión y por supuesto no puede faltar que indiques tu producto.
Todos en la comunidad a esta altura ya conocemos tu producto y creo que si alguien lo quisiera utilizar con seguridad te contactará.
Leer tus textos es equivalente a las publicidades no deseadas de productos que vemos en redes sociales y sitios web.
Y si te queda algo más por hablar, te espero en Rosario. Me encantaría poder dialogar mano a mano, cara a cara con vos.



ggcagnola gmail

unread,
Mar 7, 2023, 6:02:31 AM3/7/23
to publice...@googlegroups.com

calma calma

porque no te manejas por privado y libras al grupo de estas cosas...

Juan Cueli

unread,
Mar 7, 2023, 9:20:31 AM3/7/23
to Comunidad de Visual Foxpro en Español
De nuevo, gracias a todos, ya con la respuesta  que me dio Antonio de agregar el begin logre resolver, ya las tablas se abren bien rapido, solo estoy tratando de entender algunas cosas, pero me tomara algun tiempo ya que no puedo dedicarle el tiempo a vfp como lo hacia antes. De todas formas, gracias por sus sugerencias.

Germán Fabricio Valdez

unread,
Mar 7, 2023, 12:07:22 PM3/7/23
to Comunidad de Visual Foxpro en Español
si indique la solucion.  para que sea facil desde vfp con odbc.  no se donde ves la agresion.   solo agrego 
que mi clase lo resuelve,  y nadie lo menciono.  mi idea es fomentar VFPA10 32 y 64 bits como continuidad al VFP9.
y darle herramientas eficientes al desarrollador, para seguir desarrollando o migrar sus aplicacolega ciones hechas en dbf. a un motor en internet.
lo mas facil posible y rapida.  hago muchas cosas por VFP muchas gratuitas y otras de paga no muy elevadas.
pero nunca digo esto no se puede hacer con VFP y tenes que cambiar de lenguaje.  Vos sabes lo que implica pasar todo un sistema
de VFP a otro lenguaje, el tiempo el costo la inversion.  No es para todos.  Yo apunto a que los desarrolladores de fox que tienen sus
sistemas en su empresas o particulares, no se crean que vfp9 esta muerto.  o no se adapta a las nuevas tecnologias.  cuando yo les doy un metodo facil seguro rapido y eficiente. te molesta que la cobre?.  pero todo lo demas que descargan de mi pagina gratuito no te molesta.
El colega pregunto sobre un problema que tiene,  pero no tiene experiencias en servidores remotos, y las soluciones que le dieron
lo llevan al fracazo antes de empezar.   no servira lo que haga en su empresa y talvez lo despidan,  y no funcionara en sus proyectos particulares y no podra venderlos.  es mas quedará afuera del sistema.  y todo solo por no usar mi clase porque la cobro y eso que es economica.  Pero aprende algo, si veo que un consejo esta mal o una herramienta no funciona, lo digo.   antonio iniste en que usen su herramienta FOXYDB conservidores remotos, y no se porque lo hace, (tiene algun secreto que no publica.)  (el dice que te ayuda personalmente a optimizar tu aplicacion gratuitamente). pero tampoco publica en que consiste esa ayuda.   Mis clases estan pensadas para una migracion haciendo pocos cambios en cada formulario, y no alterar tu forma de programacion de un sistema que ya esta funcionando bien localmente con dbfs, o localmente con un motor.  y sigas con VFPA 10 32 y pases a VFPA 10 64.   Si queres pasar todo tu sistema a otro lenguaje para hacer lo mismo.  tiene un costo altisimo.  fox ofrece cosas que otros lenguajes no ofrecen.  Yo te doy perspectiva de futuro con lo que sabes VFP de toda la vida.  Despues puede haber un complemento web especifico , o una aplicacion android especifico.  Hasta ahora lo que estan haciendo es escritorio remoto como solucion vfp para internet.y otras yerbas,  pero al programador VFP le cuesta salir del DBF de toda la vida, y si quiere y lo necesita, le aconsejo mis clases, para no econtrase con "sorpresas".  y no perder la gran capacidad que tiene vfp con los dbfs y sus instrucciones internas.  Asi que yo ayudo de manera eficiente y completa.   y ninguna de mis clases te hacen dependientes de ellas ya que el codigo esta disponible y visible.  solo que no recomiendo que la modifiquen, sino que yo centralizo todo en una unica version que avanza y mantiene la compatibilidad con todas las versiones anteriores desde 2004.  hay metodos que han quedado obsoletos

arti...@gmail.com

unread,
Mar 7, 2023, 12:45:43 PM3/7/23
to Comunidad de Visual Foxpro en Español
Lo de este hombre ya empieza a molestar, una persona tiene una duda y tú simplemente vienes a promocionar tu producto.

José Antonio Peña Martínez

unread,
Mar 7, 2023, 1:26:03 PM3/7/23
to publice...@googlegroups.com
La mayoría venimos a este foro a pedir ayuda para aprender a hacer las cosas que no sabemos, incluso, a ayudar ... no se si algunos vengan a comprar, en lo personal si quisiera comprar sistemas no vendría a este foro o a ningún otro, para eso están las paginas de software.

El tema es que el compañero German se empeña en proponer y proponer sus ventas. allí está el error.

Imagina German que Tú estás pidiendo ayuda y te responden no batalles compra esto.

No es la respuesta esperada y te sentirás frustrado por pedir ayuda donde te insisten en vender soluciones para que no batalles (y de paso no aprendas).

Es mi opinión... Saludos!





--
Desarrollo de Sistemas TecnoPro
José Antonio Peña

Saludos!

Antonio Meza

unread,
Mar 7, 2023, 2:04:03 PM3/7/23
to Comunidad de Visual Foxpro en Español
German,  te comento que el compañero ya resolvió el problema y no creo que por usar FoxyDb lo vayan a correr de su trabajo jajajajajajajajajajajajajajajajajajajaja

NO INSISTO en que usen FoxyDb, simplemente les doy una opción mas, incluso siempre había comentado que podían usar SqlData, pero como ya es de pago pues ya no lo digo.

Lo mas interesante del asunto es que usaste código de FoxyDb en SqlData y dicho por ti, porque la verdad a pesar de que esta o estuvo disponible el código fuente de SqlData nunca lo descargue para probar o mirar, en cambio me agrada mucho que tú te pudiste beneficiar de FoxyDb!! lo que quiere decir que algo bueno hice jejejeje

La única opción que le hace falta a FoxyDb es permitir procesar bloques de registros en su función Update() ya que actualmente es registro por registro al servidor, a esa optimización me refiero, no hay trucos ni secretos, no la he hecho porque no la necesito y no me han pedido esa necesidad, pero si alguien la quiere la puedo hacer sin problema y sin cobrar nada ya que es una mejora a la librería.

De nuevo noto que usas a FoxyDb como diferenciador en tu venta de SqlData, te comento que cuando un producto es muy bueno no necesita de publicidad haciendo quedar mal a otro producto!!! mas bien demuestra todo lo contrario que hay un producto muy bueno y gratis que se llama FoxyDb jajajajajajajajajajajajajajajajaajajajajaj

saludos
Antonio Meza

Antonio Meza

unread,
Mar 7, 2023, 2:44:48 PM3/7/23
to Comunidad de Visual Foxpro en Español
Como dices maravillas de SqlData fui a tu pagina web donde tienes un ejemplo y te paso como se haría lo mismo pero con FoxyDb, te comento que trate de que FoxyDb fuera lo mas parecido a un Sql natural o estandar y no funciones tan pero tan complicadas con muchos parámetros.


https://levelvfp.com.ar/

__ lo que sigue se puede poner en el load del formulario o en botones y otros

SQLDATA
LOCAL osqldata as sqldata OF sqldata.sqldata
osqldata=CREATEOBJECT(«sqldata.sqldata»)
osqldata.psqlejecutar(_screen,»6″,_screen,,»consultag»,»clientes»,»»,»select * from clientes») &&trae el cursor vacio
CURSORSETPROP(«Buffering»,5,»clientes») &&por defecto es buffering 5

*el tercer parámetro corresponde al objeto formulario que contiene el entorno de datos puede ser (_screen, thisformset, o thisform)
*sólo cuando se trabaja con múltiples sesiones de datos sino usar _screen
osqldata.psqlejecutar(_screen,»6″,_screen,,»consultag»,»detalle»,»»,»select * from fabrica.detalle») &&trae el cursor vacio
CURSORSETPROP(«Buffering»,5,»detalle») &&por defecto es buffering 5

FoxyDB
oDb = NEWOBJECT(“FoxyDb”,”FoxyDb.prg”)
odb.Query(“select * from cliente where 2=1”, “clientes”)
odb.Query(“select * from detalle where 2=1”, “detalle”)
odb.CursorEdit(“clientes”)

FoxyDB, solo tienes que instanciar la librería dentro del formulario para usar la sesión privada de datos, para obtener un cursor con los datos vacíos puedes usar where 2=1, ID = 0 o cualquier condición que quieran que no traiga datos.

---------------------------------

SELECT clientes
APPEND BLANK
replace nombre WITH “German”,;
direccion WITH “los andes»,;
telefono WITH “444”,;
fnacimiento WITH DATE(),;
precio WITH 10.20,;
confirma WITH .t.

SELECT detalle
APPEND BLANK
replace cuota WITH 2

FoxyDb, se puede hacer igual que arriba o en la forma que gusten que tenga VFP
------------------------------

*grabando los cambios en el cursor (modificados, nuevos, eliminados)
LOCAL osqldata as sqldata OF sqldata.sqldata
osqldata=CREATEOBJECT(«sqldata.sqldata»)
osqldata.psqlcomienzo(_screen,»6″)
osqldata.psqlcomtran(_screen,»6″)
osqldata.psqlgrabar(_screen,»6″,_screen,»clientes»)

SELECT clientes
vultimoid=osqldata.psqlultimoid(_screen,»6″)
UPDATE detalle SET idcliente=vultimoid WHERE idcliente=0 or isnull(idcliente) &&ahora con el id, lo agregamos a la tabla detalle
osqldata.psqlgrabar(_screen,»6″,_screen,»detalle»)
osqldata.psqlfintran(_screen,»6″)
osqldata.psqlfinal(_screen,»6″)

WAIT «Grabado.» WINDOW NOWAIT

FoxyDB

oDb.Update(“clientes”), .t.)
replace detalle.idcliente with odb.id_last All && Se puede usar Update también 
oDb.Update(“detalle”)
oDb.Commit()

Nota: FoxyDb tiene dos funciones para indicarte si hubo cambios en todos los cursores abiertos o en un cursor en especial, esto lo uso mucho para evitar enviar a actualizar un cursor que no tiene cambios o recorrer todos los cursores para saber si hubo cambios.

Puedo notar que es mas natural las funciones de FoxyDb que las de SqlData jejejejejejejeje


saludos
Antonio Meza

El martes, 7 de marzo de 2023 a las 11:07:22 UTC-6, gfva...@gmail.com escribió:

Octavio Rodriguez

unread,
Mar 7, 2023, 3:54:49 PM3/7/23
to publice...@googlegroups.com
Con la rivalidad que se cargan los buenos maestros de German Fabricio y Antonio Meza, como que me remonte a los años 80s, cuando Steve Jobs demandaba a Bill Gates por plagio en  interfaz gráfica de usuario (GUI) del sistema Macintosh basado en ventanas.

Saludos desde México compañeros.

Es mejor sumar que restar.

VFPSTEAM BI SOLUTIONS

unread,
Mar 7, 2023, 5:58:37 PM3/7/23
to Comunidad de Visual Foxpro en Español
Hola buenas tardes,

Por aqui solo para ponerles a dispocición DBConectorVFP es totalmente FREE. (Esta clase la desarrolle hace muchos años) 

FORMA DE TRABAJO
loDBC.UseSQL ("miTabla")
APPEND BLANK && Insercion de un registro en blanco
REPLACE miCampo1 WITH "miValor1"
REPLACE miCampo2 WITH "miValor2"

DELETE FOR miCampo1 = "miValor1" &&Eliminacion de un registro

loDBC.SQLUpdate ("miTabla") &&Enviamos los Cambios a nuestro servidor de datos
loDBC.UseinSQL  ("miTabla") &&Cerramos la Tabla

Que es DBConectorVFP ?
DBConectorVFP es una clase adaptada para poder trabajar de forma nativa con motores de datos tipo SQL.
✅ Proximamente actualizaremos para conectarnos a: SAP HANA, MongoDB NoSQL, HFSQL Server(HyperFileSQL), SQLite, Ficheros de datos JSON y XML (WS)

DESCARGA
https://vfpsteambi.app/descargas/VFPsDBConector.rar

*INSTALACIÓN Y USO*
✅ Una vez descomprimido el .rar vamos a Visual Foxpro
✅ Abrir el proyecto vfps_dbconector [Realizar previamente un CD a la ruta donde se descomprimio DBConectorVFP
✅ En el proyecto vienen 02 programas los cuales tienen ejemplos de uso (revisar e ingresar datos de tu server para tus pruebas)
✅ Para poder revisar algunas funciones vamos a ejecutar el formulario frm_ejemplo_dbconector (Ingresamos los datos de nuestro servidor de pruebas MySQL)
✅ En el .rar tambien viene un archivo de ayuda y un pdf los invito a leer y ver todas las funciones y ejemplos que trae
✅ Si deseas participar en este proyecto GRATUITO nos puedes escribir al WhatsApp +51 970 554 089

Gracias.
VFPSTEAM BI SOLUTIONS

Antonio Meza

unread,
Mar 8, 2023, 8:40:18 AM3/8/23
to Comunidad de Visual Foxpro en Español
Solo comentarte que German es el que empezó a hablar mal de FoxyDb desde que SqlData es de pago, incluso pensé que no era él pero aquí ya lo demostró, hasta puedes perder tu trabajo si usas FoxyDb jajajajajajajajajajajaja

Ya me habían comentado por interno que en grupos de whatsapp hablan pestes de FoxyDb con la intensión de vender SqlData, incluso he comentado que cuando preguntan sobre que usar para conectarte a un servidor decía que podían usar FoxyDb y SqlData.

Como he dicho no se me hace de caballeros hablar mal de FoxyDb para vender SqlData y decir eso no creo que sea rivalidad!!! 

saludos!!!



arti...@gmail.com

unread,
Mar 8, 2023, 11:37:59 AM3/8/23
to Comunidad de Visual Foxpro en Español
Tienes toda la razón, este hombre (Germán) ya le he comentado que FoxyDB va muy bien pero claro, el quiere vender su producto a toda costa pero la estrategia que está siguiendo es totalmente equivocada, estuve en la duda pero lo que tengo claro es que SqlData lo tengo descartado. Me molesta la gente  así, haz tu producto mejor pero no te dediques a minusvalorar el trabajo de los demás porque a la larga puede que te digan que tú trabajo no vale

Max Riel

unread,
Mar 8, 2023, 1:56:48 PM3/8/23
to publice...@googlegroups.com
muy lindo el desarrollo, lo único para decir, veo que los fuentes están en una .app... y no quiero preguntar, pero... seguro que lo vendes... verdad?
otra venta... :))))))

José Antonio Peña Martínez

unread,
Mar 8, 2023, 5:52:19 PM3/8/23
to publice...@googlegroups.com
Que no dice : " DBConectorVFP es totalmente FREE. " ... Saludos!

Victor Espina

unread,
Mar 9, 2023, 11:44:35 AM3/9/23
to Comunidad de Visual Foxpro en Español
Yo tambien tengo una libreria para acceder a datos remotos al estilo DBF, pero despues de toda este trifulca creo que la mantendre solo para mi por ahora :D :D

Victor Espina

Jose Antonio Blasco

unread,
Mar 9, 2023, 11:58:40 AM3/9/23
to publice...@googlegroups.com
No Victor, No, tu haz como si no hubieras entrado al foro los últimos 10 o 15 dias ...  :D :D

Un saludo.
Jose A. Blasco
Zaragoza - España
Visual FoxPro 9 SP2



Irwin Rodriguez

unread,
Mar 9, 2023, 12:01:24 PM3/9/23
to publice...@googlegroups.com
Victor yo recuerdo haber leído en tu wiki una librería sencilla para accesos remotos, a esa te refieres? ¿por cierto ya tu wiki dejó de funcionar?

El jue, 9 mar 2023 a las 17:44, Victor Espina (<vesp...@gmail.com>) escribió:

HernanCano

unread,
Mar 9, 2023, 12:35:54 PM3/9/23
to Comunidad de Visual Foxpro en Español
El portal de Víctor está en mantenimiento.

http://www.victorespina.com.ve/wiki/index.php?title=Clase_odbcConn_(VFP)

Y sí, su utilería es la clase odbcConn para VFP.


El jueves, 9 de marzo de 2023 a la(s) 12:01:24 UTC-5, rodrigu... escribió:
Victor yo recuerdo haber leído en tu wiki una librería sencilla para accesos remotos, a esa te refieres? ¿por cierto ya tu wiki dejó de funcionar?

E_Utiles_Motores_odbcCon_odbcConn_ClaseVFP.PRG.pdf

Victor Espina

unread,
Mar 9, 2023, 4:56:08 PM3/9/23
to Comunidad de Visual Foxpro en Español
Tal como comenta Hernan, estoy en proceso de migrar mi sitio personal a otro hosting, y la libreria era para simplificar un poco el acceso a datos via ODBC.

Germán Fabricio Valdez

unread,
Mar 10, 2023, 1:15:42 AM3/10/23
to Comunidad de Visual Foxpro en Español
Resumen
1 - Bases de fox es vulnerable a cambios de voltaje, podrias tener inconsistencia en la informacion
2 - Si se va la energia pierdes datos y posiblemente se te dañe la data.
3 - Hay cero seguridad :
4 - Para poder ejecutar aplicaciones en red, tienes q compartir una carpeta con eso cualquier podria entrar y borrarte dichos datos y dejarte sin nada.(deben evitarlo)
5 - Cuando se reindexa si un indice esta malo por los puntos 1 y 2 posiblemente te borre dicho indice de su estructura, dandote asi problemas de integridad y demas.
6 - tienes q estar en constante mantenimiento a la base de datos para asegurarte q no se pierda relaciones y demas.
7 - lentitud con altos volumenes de datos.
NOVEDAD
Utilice la nueva versión gratuita de sqldata2 2023 para DBFs que evitara todo estos problemas.  Ademas no importa la técnica de programación que use la clase usara el método mas moderno, seguro y rapido.  Anti hibernación y suspensión de la pc o notebook (no necesita cambiar el plan de energía).  Las dbfs se abrirán para leer para crear un cursor y se cerraran, modifican el cursor, y las dbf se abrirán para grabar los cambios y se cerraran. Permite usar transacciones.
Tienen que tener presente que hay un nuevo método de bloqueo de registeos con una función de la clase.  Y también de control de stock. Que les facilita las tareas.
Puede ir cambiando formulario por formulario, los viejos funcionaran juntos con los nuevos sin problemas, hasta que termine la conversión total de su proyecto.
Si desean migrar a un motor en un futuro, lo pueden hacer adquiriendo la versión comercial y solo cambiando la cadena de conexión de cualquier motor que soporta la clase.
La clase soporta dbf mayores a 2 gb. Sin problemas.  La técnica que usa es cursoradapter.

Victor Espina

unread,
Mar 10, 2023, 9:26:00 AM3/10/23
to Comunidad de Visual Foxpro en Español
Entiendo que esta nueva version gratuita solo trabaja con DBF,  correcto ?  Si es asi,  como haces para superar el limite de 2 GB por DBF ?  O para esto necesitas ejecutar con VFPA ?   Por cierto, las DBFs se corrompen al escribirse;  abrir un DBF, actualizarlo (bien sea directamente o por medio de TableUpate) y cerrarlo inmediatamente reduce la ventana de oportunidad para que ocurra una corrupcion, pero definitivamente no evita el problema... solo reduce la probabilidad de que ocurra.

Saludos

Victor Espina

GeoSys Diseño de Software

unread,
Mar 10, 2023, 9:45:54 AM3/10/23
to publice...@googlegroups.com
Exacto, el momento crítico de las DBFs en VFP es en el momento justo que se están escribiendo en las tablas falle la energía o falle la conexión  en una red local, porque con FLUSH y SYS(1104) casi que nunca hay fallos en las DBFs.

En VFP9 cuando una tabla se corrompe, casi siempre lo que se bloque es el encabezado de la tabla y no se puede abrir la tabla con USE, se repara fácilmente con:

SET EXCLUSIVE ON
SET TABLEVALIDATE TO 0 && Con este ya se puede abrir la tabla.
USE Tabla
Se agrega un registro en blanco puede ser con APPEND
Una vez agregado, Se elimina con DELETE ese mismo registro que insertamos en blanco.
Se ejecuta un PACK && Ojo este elimina los registros marcados para borrar.
Y listo, reparada la tabla.





Antonio Meza

unread,
Mar 10, 2023, 10:59:29 AM3/10/23
to Comunidad de Visual Foxpro en Español
Cuando use DBF's lo hice por medio de VISTAS LOCALES, ahí aprendí a manejar cursosres, transacciones de VFP y Buffering, y si llegue a tener problemas pero con las tablas donde tenia campos MEMO, lo que hice fue separar en una tabla especifica para los campos Memos y así reduje el problema en caso de una apagón del servidor, los indices solo los he usado hasta la fecha dentro de las tablas DBF's o Servidor de Base de Datos y ya que tengo los datos en el cursor nunca genero indices pues ya los traigo ordenados desde la consulta, posiblemente por eso nunca sufrí con los indices jajajajajaj

Definitivamente se tienen que cambiar a un servidor de base de datos y pueden usar gratis FoxyDb o comprar SqlData jejejejejej

saludos
Antonio Meza



Germán Fabricio Valdez

unread,
Mar 10, 2023, 12:55:27 PM3/10/23
to Comunidad de Visual Foxpro en Español
mañana habra una version de prueba full de sqldata2 que durara 3 meses.  para que puedan hacer sus pruebas, y comparar su eficacia

José Antonio Peña Martínez

unread,
Mar 10, 2023, 1:09:03 PM3/10/23
to publice...@googlegroups.com
Otra vez Germán tratando de vender su producto ... jajaja!

Germán Fabricio Valdez

unread,
Mar 10, 2023, 2:20:29 PM3/10/23
to Comunidad de Visual Foxpro en Español
no es un precio de venta lo que tiene, es un precio de mantenimiento de la clase ya que tengo que seguir muy atento a las nuevas versiones  de los motores y odbc.  y mi clase es una solucion completa para varios temas, no solo leer y grabar. cuando la prueben y la comparen, sabran que ganaran mucho mas dinero de lo poco que invirtieron. y van a continuar con VFPA10.  y no van estar buscando promesas en otros lenguajes..
por supuesto vos jose antonio peña martinez, no tendras acceso a ella. ni a mis grupos por tu comentario.
mañana estara una version completa de prueba de sqldata2 por 3 meses, para que comparen por ustedes mismos la diferencia entre sqldata2 y foxydb.   y sacaran sus propias conclusiones. yo estoy alimentando vfp con clases que no existen para modernizar tus proyectos. y ayudando a pasar a vfpa10 y hagan productos muy competitivos en el mercado.

Victor mi clase sqldata2 para dbf utiliza un metodo que garantiza que no se rompen los dbf , ni los cdx, ni los memos.  igual ya esta la version final de cmrepair.app que estuve gestionando para reparar todo lo que sea mayor a 2 GB.


Victor Espina

unread,
Mar 10, 2023, 2:41:52 PM3/10/23
to Comunidad de Visual Foxpro en Español
Tu puedes decir lo que quieras, pero eso no cambia el hecho de que un DBF, hagas lo que hagas, SIEMPRE va estar expuesto a corrupcion, en mayor o menor medida.  Eso viene dado por el manejo interno que hace VFP de esos archivos, sin importar las tecnicas que tu emplees para eso.

Esta bien ofrecer librerias y servicios a la comunidad, sean gratuitas o de pago.. .lo que NO esta bien es hacerlo desmereciendo el trabajo de otros; la idea es promocionar las fortalezas de tu solucion, no llamar la atencion sobre las supuestas deficiencias de otras alternativas.   Tampoco es correcto usar publicidad engañosa y, mucho menos, convertir todo esto en una discusion PERSONAL.

Todo eso, en lugar de ayudarte, te esta perjudicando notablemente... ojala te des cuenta de eso.


Victor Espina

Victor Espina

unread,
Mar 10, 2023, 3:42:15 PM3/10/23
to Comunidad de Visual Foxpro en Español
"no es un precio de venta lo que tiene, es un precio de mantenimiento".  Si la unica forma de obtener la libreria completa es pagando, entonces ES un precio de venta.  Otra cosa distinta seria que uno pudiera descargar la libreria gratuitamente pero sin derecho a soporte ni correcciones, a menos que uno pagara una SUBSCRIPCION. Pero ese no es el caso , o si ?

Victor Espina

On Friday, March 10, 2023 at 4:20:29 PM UTC-3 gfva...@gmail.com wrote:

Germán Fabricio Valdez

unread,
Mar 10, 2023, 4:46:28 PM3/10/23
to Comunidad de Visual Foxpro en Español
ya esta disponible la version de prueba para motores por 3 meses. a partir de solicitarme la licencia gratuita. para que puedan hacer sus pruebas.

grupo de whatsapp de sqldata y sqldata2


y si victor es de mantenimiento.  porque la clase empezo en 2004.  y lo que vos pagas ahora esta todo actualizado a los ultimas version de los motores ultimmos odbc ultimos windows y vfpa10 32 y 64 bits.

y le sigo dando soporte activo. y mejoras necesarias, segun cambian las tecnologias.

José Antonio Peña Martínez

unread,
Mar 10, 2023, 6:00:24 PM3/10/23
to publice...@googlegroups.com
Gracias Germán por la distinción ... la verdad es que gracias a Dios Yo no la ocupo, y si acaso pues hay otras opciones, pero bueno, se te está olvidando que la finalidad de estos foros es ayudar,  no vender ...

Saludos

Max Riel

unread,
Mar 10, 2023, 6:24:12 PM3/10/23
to publice...@googlegroups.com
German,

Nada cómo un velorio para vender flores, no?

Que la necesidad de consulta de un colega no te impida seguir vendiendo tu producto... pero, hay algo llamado "ubicación" ... está en el diccionario, bajo la letra U.



Germán Fabricio Valdez

unread,
Mar 10, 2023, 10:39:37 PM3/10/23
to Comunidad de Visual Foxpro en Español
comentarios como los de ustedes no me desanimaran.  Conozco mucha gente del tipo de su clase.  Ustedes no ayudan ni gratuitamente ni pagando. ni aportan nada. ni les importa visual foxpro,  yo aporto mucho, pero los desagradecidos no tendran acceso a nada de lo mio.
Ves la pregunta que se hizo originalmente, el que hace la pregunta confunde conexion con instruccion,  no tiene idea de nada.  que ayuda le van a dar, que le sirva. foxypreviewer 3 se cobra, el de envio de whatsapp tambien.  y que no les parecen ayudas ?.  yo manejo 7 motores de base de datos, y tengo años de experiencia.  Yo tengo mi criterio de ayuda.  y vos tenes el tuyo.   que vea el que hace la pregunta , cual se la resuelve.
porque una pregunta te va a llevar a la otra.  y estamos hablando de manejo de datos, algo que se considera de mucha importancia, y es mi especialidad.  Tuve acceso a cursor de especializacion en lo que hago.   Y aveces no me limito a dar una simple respuesta en manejo de datos, cuando veo que es perder el tiempo. y useted en lugar de ver los beneficios que tiene, que desconocen. se dedican a criticarme.
sqldata y sqldata2 no tienen como base nada que me haya fijado en foxydb.  solo que lo que vi en foxydb fue algo que me parecio muy bueno para la epoca en la que hizo la clase. , pero mis clases ya estaban creadas.  y yo se bien que si no envia por lotes las instrucciones update delete e insert, la lentitud accediendo remotamente hace tu aplicacion inusable,, y en que va a terminar, en tener un servidor con acceso mediante escritorio remoto.  pero tu sistema siempre funcionara con acceso local , tanto en dbf como con un servidor. Mi primera version de sqldata funcionaba igual que foxydb,  y bueno en la empresa en la que se aplico, pidio una conexion especial de internet de un gran ancho de banda para poder interconectar las 5 sucursales. deci que era una capital de una provincia que tiene su sede central ahi y maneja las conexiones del todo el pais,  y tuvimos ese beneficio,  tambien probamos con replicacion, pero mantenerlo en funcionamiento a este metodo requiere una persona permanente para resolver conflictos.
Pero no lo digo yo lo dice la BIBLIA,  el que se ofende cae en el seno de los estupidos.

José Antonio Peña Martínez

unread,
Mar 11, 2023, 10:37:59 AM3/11/23
to publice...@googlegroups.com
Yo creo desanimado ya estas y tu respuesta es ardida porque sabes que en las críticas tenemos razón, pero alla tu, gente como nosotros dices que no ayudamos y aunque a mi me han ayudado mucho y he ayudado GRATIS porque esta es el alma del foro pues para ti solo se volvió negocio, y me imagino que te hace mucha falta el recurso para promoverlo desesperadamente, y peor la cosa que no quieres entender que no estás obligado a dar nada gratis si no es tu voluntad (que ya nos enseñaste que no la es), pero ubicate, no respondas con ayudas de "comprame"...

Echale ganas Germán.

Gente como nosotros no estamos aquí para ponerte en evidencia, y si así es tu personalidad de no aceptar críticas por tu bien pues ha de ser difícil el trato contigo, así que mejor sigue tu camino.
 
P.D. Tu incongruencia: "Pero no lo digo yo lo dice la BIBLIA,  el que se ofende cae en el seno de los estupidos." e intentas ofender.

Gerardo Cagnola

unread,
Mar 11, 2023, 10:51:09 AM3/11/23
to publice...@googlegroups.com
totalmente de acuerdo
pero vos no intentes hacernos leer la biblia sin solicitarlo...

--
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.

José Antonio Peña Martínez

unread,
Mar 11, 2023, 10:52:43 AM3/11/23
to publice...@googlegroups.com
Esto:

"Pero no lo digo yo lo dice la BIBLIA,  el que se ofende cae en el seno de los estupidos."

Lo puso Germán.


Hernán Medina

unread,
Mar 22, 2023, 2:00:15 AM3/22/23
to publice...@googlegroups.com
Buenas noches. Por favor, me pueden informar cual es la diferencia de  sqldata y sqldata2. Si no es mucha molestia también la diferencia de éstas que nombre con  foxydb. Necesito conocerlas debido a que tengo que hacer una aplicación que mantenga sincronizada una base de datos, Les explico. La idea es trabajar en local cuando el servicio de internet falle, cuando el servicio de internet se restablezca hacer la actualización de todos los datos de las tablas que se han modificado. Pregunto si las herramientas que ofrecen aquí funcionan en lo que busco. Si no es así, les pido alguna orientación en relación a lo que les he explicado brevemente. gracias por su tiempo.

Victor Espina

unread,
Mar 22, 2023, 10:31:45 AM3/22/23
to Comunidad de Visual Foxpro en Español
Ese es un proyecto interesante.  Yo he estado ayudando a un amigo a hacer algo muy similar.   Mi consejo seria que utilices la figura de un journal, es decir, una tabla donde vayas anotando los siguientes datos:

a) Fecha/hora operacion
b) ID operacion (identity)
c) Tabla afectada
d) Operacion realizada (INSERT, UPDATE, DELETE)
e) Numero o clave primmaria del registro afectado
f) Status (PENDIENTE, ENVIADO)
g) Fecha/hora envio

A medida que vas registrando cambios en la BD local, vas registrando esas operaciones en el journal.   Paralelalemente debes tener un programa aparte que corra en conjunto con tu app normal, con un ciclo sin fin donde en cada vuelta haces lo siguiente;

a) Intentas abrir conexion con el RDBMS (de esta forma sabes si hay conectividad o no)
b) Si se pudo abrir la conexion, busca si el primer registro PENDIENTE en el journal, ordenado por ID de operacion (del mas viejo al mas nuevo)
c) Abres la tabla local afectada
d) Localizas el registro afectado (si es UPDATE o INSERT)
e) Replicas la operacion en el RDBMS (aqui es donde entrarian FoxyDB o SqlData)
f) Marcas el registro como ENVIADO
g) Cierras la tabla
h) Cierras la conexion

Otra forma podria ser abrir la conexion al inicio del proceso y mantenerla abierta permanentemente.  Dentro del ciclo infinito envias un SELECT @@VERSION solo para determinar si la conexion sigue viva o no y, si te da error, cierras la conexion e intentas abrirla nuevamente.  

De esta forma, tu app ira generando la data localmente y, al mismo tiempo, tu programa de sincronizacion ira actualizando la data del RDBMS.  Si la conexion se cae no pasa nada porque el journal seguira almacenando todas las operaciones realizadas hasta que se restablezca la conexion.


Saludos

Victor Espina

Germán Fabricio Valdez

unread,
Mar 22, 2023, 10:44:05 AM3/22/23
to publice...@googlegroups.com
Una pregunta.  Cuantas sucursales son.  Y si son ventas.  Si tenes stock centralizado.  Y por cuanto tiempo y frecuencia se corta internet. Y cuantas pcs tienen las sucursames

German Fabricio Valdez

From: publice...@googlegroups.com <publice...@googlegroups.com> on behalf of Hernán Medina <gas...@gmail.com>
Sent: Wednesday, March 22, 2023 3:31:58 AM
To: publice...@googlegroups.com <publice...@googlegroups.com>
Subject: Re: [vfp] Mucho tiempo para abrir tablas con FoxyDb en MySql remoto
 
Has recibido este mensaje porque estás suscrito a un tema del grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este tema, visita https://groups.google.com/d/topic/publicesvfoxpro/59elDGwzXMk/unsubscribe.
Para cancelar la suscripción a este grupo y a todos sus temas, 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/CADahPo2864te%2BiOyGZXRXJWibAkPiAG50TzcUYBtUOwLDH7Yew%40mail.gmail.com.

Irwin Rodriguez

unread,
Mar 22, 2023, 10:54:38 AM3/22/23
to publice...@googlegroups.com
No lo he probado pero creo que Visual Foxpro ya ofrece algo con las vistas fuera de línea (OFFLINE VIEW) pero no me ha tocado implementar algo similar pero sería el primer rincón que miraría.

Un saludo.

Victor Espina

unread,
Mar 22, 2023, 12:00:44 PM3/22/23
to Comunidad de Visual Foxpro en Español
No funcionaria porque VFP maneja eso exclusivamente en memoria... si la energia se corta los cambios y se perderian.  

Victor Espina

Irwin Rodriguez

unread,
Mar 22, 2023, 12:06:27 PM3/22/23
to publice...@googlegroups.com
En ese caso tanto las vistas fuera de línea como las vistas en línea perderían los datos, en fin, cualquier medio de almacenamiento en búfer sufriría las mismas pérdidas.

De igual forma aquí encontré un documento de Doug Hennig que habla del tema.

Victor Espina

unread,
Mar 22, 2023, 12:13:46 PM3/22/23
to Comunidad de Visual Foxpro en Español
Exacto! Por eso es necesario algun tipo de journal fisico, para poder mantener de forma segura los cambios realizados y no sincronizados.

Victor Espina

Victor Espina

unread,
Mar 22, 2023, 12:16:04 PM3/22/23
to Comunidad de Visual Foxpro en Español
hey esta super interesante ese articulo de Doug Henning.... yo estaba equivocado:  VFP mantiene los cambios hechos en la vista offline en un archivo fisico aparte, por lo que no se perderian ante un corte de energia.   Excelente!    Gracias por el link.

Victor Espina


On Wednesday, March 22, 2023 at 1:06:27 PM UTC-3 rodrigu...@gmail.com wrote:

Hernán Medina

unread,
Mar 22, 2023, 9:08:03 PM3/22/23
to publice...@googlegroups.com
Buenas noches, en primer lugar quiero agradecer por su tiempo en establecer sus opiniones muy productivas.
 Victor,he analizado tu sugerencia y voy a combinarlo con lo que tengo y probar. Les informaré.
Germánno hay sucursales, pero se comporta como tal, les explico, se trata de varios clientes trabajando
con una aplicación de escritorio, los datos se manejan localmente cuando no hay  conexión o sin internet,
cuando se restablece la conexión o el internet, se actualizan sólo aquellos datos que han cambiado, nuevos y eliminados.
Todo ese proceso se aplica a cada uno de esos clientes. De hecho, ninguno de ellos sabe de la existencia de los otros.
Irwin gracias por el link, entraré y les comentare.
Gracias por sus magníficos comentarios y explicaciones...




Germán Fabricio Valdez

unread,
Mar 26, 2023, 1:27:22 AM3/26/23
to Comunidad de Visual Foxpro en Español
les recomiendo mis grupos de whatsapp, donde encontraran muchas soluciones completas

Reply all
Reply to author
Forward
Message has been deleted
0 new messages