Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > ¿Cómo insertar/utilizar una Base de Datos en un .exe?

Hola a todos,

Estoy utilizando launch4j para crear un .exe y InnoSetup para creear el instalador.

El tema está en que en mi proyecto utilizo una base de datos sqlite y mediante netbeans funciona perfectamente pero cuando genero el .jar y utilizo estos dos programas (para crear el .exe e instalador) no hace nada la aplicación y me he fijado que es por que no encuentra la base de datos.

Así que añadí la base de datos en el instalador mediante innoSetup. Ahora si que encuentra la base de datos y la lee pero sucede dos cosas:

1- El programa funciona muyyyy lento.
2- Solo puede leer de la base de datos no guardar.

¿Alguna solución?

Mil gracias!

julio 14, 2017 | Unregistered CommenterDavid

Hola.

Una pregunta el archivo de base de datos, es parte de tu proyecto es decir cuando generas el jar, este archivo va adentro?

a no tener este detalle, diré mal y pronto que le crees una carpeta en el disco a tu base de datos cuando la instales y que accedas a ella con ruta absoluta.

ejemplo:
la puedes instalar en c:/nombre_proyecto/base_datos/database.db. y claro desde tu proyecto accedes a esta ruta.

como te digo imagino que el problema es que el archivo de base de datos va en el jar, por eso cuando lo ejecutas, toma el archivo db como solo lectura. Como te digo es mi hipótesis.

pero nos cuentas.

saludos.

julio 15, 2017 | Unregistered Commenterjhosep

Gracias por tu respuesta.
Parece que el problema está en que al instalar la aplicación lo hacía en Archivos de programa" y dicha carpeta "no permite" guardar datos.

Cuándo lo instalo fuera ya todo funcioba normal.

Ahora la duda que tengo es como hacer para poder instalar en Archivos de programa" y que se guarden datos en la bd...

julio 15, 2017 | Unregistered CommenterDavid

a las famosas restricciones de windows, pues ahí si te la debo, busca en la documentación de inno setup, de repente hay algo para pedir permisos cuando instalas.

pregunta si ejecutas tu programa como administrador ahí si guarda en la base de datos, cuando esta en archivos y programas.?

si no pues vas a tener que guardar la base de datos en otra ubicación, como lo estas haciendo.

saludos.

julio 15, 2017 | Unregistered Commenterjhosep