Problema al leer datos SQLite desde clientes

Estimados,

Tengo una base de datos SQLite desde la cual accedo mediante una rejilla usando una función
que ocup BD: crear manejador y la ruta es “C:\Data\SQLiteData\” + #NOMBRE_DB + “.db”
El archivo de la base de datos está en una carpeta en el servidor.

El problema es que cuando ejecuto el vClient desde el servidor, veo los datos perfectamente, pero cuando ejecuto desde un cliente, no veo nada, la rejilla está en blanco. Y como se supone que la instrucción de BD la ejecuta el vServer desde el servidor, debiera buscar los archivos en el servidor, lo cual sí ocurre cuando el cliente está en el mismo servidor (via terminal), pero no cuando me conecto desde el vClient desde mi computador.

Por favor alguna ayuda… gracias mil…!

Hola Spicer.

Vamos a ver, primero tienes que tener claro los conceptos de ejecución en primer plano y tercer plano junto con el concepto de path absolutos.

  • Si el vClient y el vServer se ejecutan en la misma máquina, todos los componentes, ejecutados tanto en el vClient (1P) como en el vServer (3P), tendrán acceso al path absoluto C:\Data…
  • Si el vClient está en una máquina remota, obviamente los procesos ejecutados en primer plano no tendrán acceso al path absoluto C:\Data… Los ejecutados en 3P sí tendran acceso a dicho Path porque se ejecutan en la máquina del vServer.

Por lo tanto, tendrás que ejecutar los comandos de Bases de datos externas desde procesos en tercer plano 3P y tema solucionado.

Saludos
Paco Satué

Estimado Paco…

Toda la razón…! Qué tontera de mi parte no haber haber pensado en ese pequeño gran detalle…!

Muy muy agradecido, como siempre

Estimados amigos,

Hice lo que sugirió Paco y el proceso funciona como avión…!
En un manejador de evento de pre inicialización de la rejilla, que lee los datos desde SQLite, y se despliegan perfecto. Los usuarios abren un formulario, y un proceso en 3P hace INSERT o UPDATE en SQLIte, queda todo grabado.

Sin embargo, y por motivos que no he logrado descubrir, de pronto algo falla y el vServer se cae, deja de funcionar. No he podido saber dónde está la falla, ¿alguien me podría dar una idea acerca de cómo detectar la falla? Es algo poco frecuente, pero cuando sucede, deja a todo el mundo en el aire y produce mucho ruido

Gracias mil como siempre

Hola Spicer.

Pues tienes un problema muy gordo.
Tendrás que recurrir a Soporte irremediablemente para enviarles un volcado de memoria para que detecten el error.

El driver SQLite es un DLL y eso es una bomba de relojería para el “endeble vServer” de Velneo. Ejecutar procesos EXE o DLL en 3P tiene estos riesgos, un fallo en la programación y se cae todo.

Saludos
Paco Satué

Estimado Paco,

Pues bien, estoy de acuerdo en que el vServer es muy bueno cuando lo ocupas solo, pero si le empiezas a meter cosas extrañas, pierde la estabilidad. Lo raro es que es una situación muy puntual, ocurre sólo algunas veces.

Recurriré a soporte. Muchas gracias como siempre

Saludos,