style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Adjuntar Base de Datos a aplicación Java para convertirla en EXE

Espero explicarme, desarrolle un aplicación la cual hace uso de una Base de Datos en MySQL, ahora deseo crear un instalador para mi aplicación pero no se como llevarme la Base de Datos junto con el programa, es decir que al instalar mi aplicación la Base de Datos también se instale de manera automática para que el usuario no tenga que estar exportando el script sql y esas cosas engorrosas.
Deseo hacer algo parecido a lo que se muestra en el siguiente vídeo.
Espero me puedan ayudar.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de genitalico

que tall.. una pregunta tu

que tall.. una pregunta tu base de datos en donde esta?
esta en la misma maquina estas usando xamp o wamp o algo parecido? o esta en otro servidor?
si es así mm no creo que puedas "llevarte" la base de datos, solamente haciendo lo que tu comentas que el usuario ejecute el scrip para crear la bd, y en todo caso tendrá que tener el wamp xamp instalado en su maquina, ahora si la bd esta en otro servidor y si este tiene acceso a Internet podrías hacer la conexión al servidor nada mas, eso si el usuario tiene que tener Internet o estar en la misma red.

como sugerencia para que te puedas llevar la bd como tu mencionas te recomendaría utilizar una bd embebida, como por ejemplo SQLlitle, o H2, ya dependera de ti y si tu programa no tiene ningún inconveniente para usar una bd asi.

salu2

Serialización

En dado caso de que fueran pocos los datos a guardar o que el manejo de los datos fuera sencillo podrías utilizar serialización.

Uso XAMPP y MySQL

getinalico: He estado leyendo sobre SQLite y utilizarlo sería lo más correcto. Gracias por responder.
leogtzr: Podrías explicarme lo que dices, por favor y agradezco tu respuesta.

Imagen de genitalico

si creo que para tu caso

si creo que para tu caso seria mas correcto usar una bd asi, lo que menciona leogtzr es usar la serializacion, esto consiste en tomar un objeto y convertirlo a bytes y con eso puedes guardar todo ese objeto en un archivo para poder después recuperar el objeto con todo y los datos, es una opción bastante valida para guardar datos sencillos como podrían ser configuraciones de tu programa, usuarios y contraseñas entre cosas muy simples que solo se dedicaría a guardar y recuperar y una que otra modificación a los datos pero no mas..
si necesitas hacer consultas recuperar y filtrar datos la serializacion ya no seria optima ya que todo el trabajo te cosponde a ti hacer a código, para eso mejor usar una BD y sus sentencias para hacerte la vida mas facil-. ya depende de tu programa..

te dejo un link ..
Serializacion

Imagen de pavul

quiero hacer algo parecido

creo que tenemos el mismo problema, pero yo lo he pensado del sigueinte modo.

yo creo que es mucho mejor MySql que SQLite porque este es portatil, si manejas muchos datos no te va a servir, ahora lo que puedes hacer

es bajar el MySql y en la carpeta de tu instalador digamos meter ahi el archivo, cuando instales el exe de tu programa en Java, executas un archivo .bat

donde pongas a instalar mysql, el punto seria checar que quedara en algun lugar bien puesto por eso de las rutas donde quedara al final, para que concuerde si despues tienes que buscar algun archivo, no se si funcione, pero es una aproximacion diferente del problema que tienes.

o si no, puedes hacer un manual donde se especifique que debe de estar MySql previamente instalado o que necesitas algun servidor de base de datos, muchos programas asi lo hacen, ya vez que para programar en algun IDE necesitas el JDK y demas y despues aparte bajarte e instalar dicho IDE.

Ejecutable

Disculpa y si mi bd la creo por default en mi programa que es eclipse como le hago para crear el ejecutador ?
uso wamp

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">