Sobre SQLite desde VFP9

432 views
Skip to first unread message

HernanCano

unread,
May 26, 2022, 9:22:28 PM5/26/22
to Comunidad de Visual Foxpro en Español
Buena tarde, amigos.

Con el fin de avanzar en el uso de motores de datos relacionales, los invito a ejecutar los comandos mostrados en la sgte página:

SQLite from VFP9?
https://www.tek-tips.com/viewthread.cfm?qid=1640478

y conversemos sobre las dificultades que se me han presentado.

El esquema mostrado es muy interesante en el sentido que no se necesita registrar nada (ni siquiera el ODBC del mismo SQLite): sólo *Declarar" la SQLite3.DLL propia del motor, lo cual incluso es interesante pues la DLL se puede cambiar --casi-- en caliente, y así tener siempre actualizado el motor.

Compartamos.

Seguimos en contacto.

*HERNAN CANO*
Analista de Sistemas
*Sistemas HCano*
Medellín, Antioquia, Colombia

Ivan Martinez

unread,
May 26, 2022, 9:50:47 PM5/26/22
to publicesvfoxpro
Según lo que leí en ese hilo no es recomendable usar SQLite por la desconfianza en los odbc. Y que por otros caminos es un auto suicidio. Entre SQLite y dbfs aconsejan dbfs que funcionan muy bien para un rango amplio de aplicaciones.

Iván Martínez 

--
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/c7ccf2bc-ecab-407c-9023-140aa5c2d872n%40googlegroups.com.

ZeRoberto

unread,
May 26, 2022, 10:19:43 PM5/26/22
to publicesvfoxpro
Según el código, el resultado de la consulta lo almacena en un Array y no en un Cursor como debería de ser, por ahi nomas empezarian las dificultades

Saludos

Ze




--

HernanCano

unread,
May 27, 2022, 2:11:01 AM5/27/22
to Comunidad de Visual Foxpro en Español
Correcto, Iván.
Esa es la excusa que sacan todos los detractores de SQLite.

Y decir que "para qué salir de DBFs si funcionan bien", es contradecir "debemos migrar a los motores relacionales".

Gracias por participar.

HernanCano

unread,
May 27, 2022, 2:21:12 AM5/27/22
to Comunidad de Visual Foxpro en Español
Sí, Roberto.
Pero es que debía funcionar adecuadamente. Ce lo contrario no funcionaría, ni se hubiera tenido que depender de VFPC32.FLL para el uso de los CallBacks que es lo que necesito consultar.

Ejecutando el .PRG que adjunto --basado en el mostrado en la URL y con ligeros ajustes para que se muestre info en la Screen-- obtengp el error según la sgte imagen....

Para los que usan la VFPC32.FLL les consulto:

Para usar el ejemplo mostrado, ¿debiera usar una FLL anterior?
Tengo una posterior, pero me aparece el error.

Gracias, Roberto, por participar.

imagen-01.png

imagen-01.png
SQLite-from-VFP9.prg.txt

Ivan Martinez

unread,
May 27, 2022, 2:44:07 AM5/27/22
to publicesvfoxpro
No eso no es una excusa parece que el artículo que tú mismo pusiste para que lo leyeras está hecho que sabe lo que dice pero si tú lo logras de una manera fácil y confiable adelante. Ellos aconsejan  el uso de SQL server, MySQL y para los de bajos requerimientos la base de datos vfp.

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

HernanCano

unread,
May 27, 2022, 4:29:45 AM5/27/22
to Comunidad de Visual Foxpro en Español
"...  Ellos aconsejan  el uso de SQL server, MySQL .... "

Para esa época....2011.... Aún SQLite no había mostrado sus alcances......

Recuerda que hoy domina el terreno de Android.............

Victor Espina

unread,
May 27, 2022, 8:02:21 AM5/27/22
to Comunidad de Visual Foxpro en Español
Hernan, SQLite no sirve como alternativa a MySQL o SQL Server de forma alguna.  Para empezar, no es multiusuario sino algo diseñado para que aplicaciones standalone pudieran almacenar y recuperar datos de forma eficiente. Segundo, el problema con VFP es el lenguaje mismo, NO SOLO el hecho de que use DBFs.   SI tu cliente quiere una app standalone mono-usuario, y esta dispuesto a que se haga con VFP,  TAMBIEN le va a dar lo mismo si usas DBF o SQLite o tablas planas.

Finalmente, dentro de un contexto de aplicación standalone monousuario, el DBF es SUPER robusto, MAS FACIL de usar que el SQLite, MAS RAPIDO que el SQLite y tiene las mismas restricciones de almacenamiento (2 GB) que el SQLite.

Conclusion?   Simplemente no vale la pena el esfuerzo porque no ganas nada y mas bien sales perdiendo.


Saludos

Victor Espina

Carlos Miguel FARIAS

unread,
May 27, 2022, 8:55:13 AM5/27/22
to Grupo Fox
Coincidiendo con Victor y otros. SQLite no es sustituto de las DBFs. SQLite, cualquier cambio en la bd (inserciones, modificaciones, indexados y reindexados) bloquea toda la base de datos. TODA, por lo que si tienes concurrencia, ni siquiera puedes leer mientras se hace cualquiera de los procesos indicados previamente. En un sistema monousuario, puede servir, o si es de consulta y solo un usuario modifica o inserta.
Por otra parte, el archivo no tiene ninguna seguridad (no dispone de los GRANT y REVOKE de otros SGBD) (no he visto que tenga clave general). Posiblemente, sea más seguro interactuar con tablas Excel que con SQL.
Si mal no recuerdo, se pueden instalar en un navegador utilitarios que pueden acceder a las bases de datos de SQLite.
SQLite te puede servir para armar prototipos, que te permitan a grosso modo verificar tus sentencias SQL, y luego, una vez probado el conjunto (donde cocinas datos y demás), cambias la conexión a un SGBD en serio.
Ni siquiera te sirve para estimar desempeño de consultas, uso de vistas y demás. Ni siquiera soporta procedimientos almacenados. Las instrucciones de administración de SQLite difieren bastante de otros SGBD.
Saludos: Miguel

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

ggcagnola gmail

unread,
May 27, 2022, 9:01:35 AM5/27/22
to publice...@googlegroups.com

si hacés el esfuerzo de aprender a usar alguna base de datos relacional, a mi parecer, deberías arrancar con postgresql o sql server

de esa forma ya etás preparado para usar tu sistema en forma local o red, escalar en la cantidad de datos a manejar, trabajás con lo que corresponde en cuanto a los datos, etc etc etc

Ivan Martinez

unread,
May 27, 2022, 9:17:04 AM5/27/22
to publice...@googlegroups.com
Aqui  un documento corto sobre uso de sqlite desde php

--
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.
use-sqlite.pdf

Ivan Martinez

unread,
May 27, 2022, 11:35:02 AM5/27/22
to publicesvfoxpro
El SQLite no tiene mayores ventajas que las dbf sobretodo si se va a trabajar con vfp. Donde SQLite brilla es en aplicaciones donde hay un solo usuario  como es en una aplicación de Smartphone como almacenamiento intermedio entre el dispositivo y la base de datos corporativa. Se trabaja desconectado si es necesario y cuando se pueda conectar a la corporativa actualiza. La misma gente de SQLite dice que aconsejan su uso cuando la app y la base de datos estan en el mismo dispositivo. Recomiendo leer bien el sitio de SQLite.  Yo la use en un curso creo que con nodejs y funcionó perfecto
Iván Martínez.

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

Victor Espina

unread,
May 27, 2022, 12:23:37 PM5/27/22
to Comunidad de Visual Foxpro en Español
Exacto. La gran ventaja de SQLite es que es un motor RDBMS que puedes insertar en prácticamente cualquier lenguaje programación, desde C hasta Java.    De hecho,  es el standard de facto para almacenar y recuperar datos en aplicaciones monousuario y en casi cualquier dispositivo. AHI es imbatible. Pero como sustituto de las DBF?  ni de cerca.

Victor Espina

HernanCano

unread,
May 27, 2022, 12:50:39 PM5/27/22
to Comunidad de Visual Foxpro en Español
Ok, amigos.

Les agradezco la info que me proporcionan. Así enriquezco mi base de conocimiento con respecto a SQLite.

Seguimos en contacto.

ZeRoberto

unread,
May 28, 2022, 12:36:31 AM5/28/22
to publicesvfoxpro
Yo desde hace tiempo que uso el MySQL portable, solo tengo que configurar para que el puerto no se cruce con algún otro MySQL que pueda existir en esa PC inclusive con alguna otra versión anterior de mi aplicación.

Aca les dejo un pequeña aplicación que trabaja con MySQL portable, si por ahí llegan a formatear la PC solo les digo que tienen que instalar el ODBC que viene una copia dentro de la carpeta de la aplicación


Usuario: ADMIN
Contraseña: 123

Saludos

Ze




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

ZeRoberto

unread,
May 28, 2022, 12:54:04 AM5/28/22
to publicesvfoxpro
Quería  acotar algo más, si en algún momento el cliente desea usarlo en modo Multiusuario en Red Local o la Nube solo tengo que quitar la opcion Portable que está en el archivo de configuración ini y especificar la nueva ip del servidor

Saludos

Ze




HernanCano

unread,
May 28, 2022, 1:38:28 AM5/28/22
to Comunidad de Visual Foxpro en Español
Correcto, Roberto.
Así es como debiéramos preparar nuestras aplicaciones: con un cambio (el más mínimo posible) ponerlo a funcionar de forma "diferente" (de local a Internet).

Gracias por compartir.

Germán Fabricio Valdez

unread,
Nov 30, 2022, 1:33:07 AM11/30/22
to Comunidad de Visual Foxpro en Español
mi clase sqldata2 trabaja con sqlite via odbc. corrctamente
es solo local 
Reply all
Reply to author
Forward
0 new messages