Foros del Web » Programación para mayores de 30 ;) » Java »

Ejecutable de una aplicación Java integrada con MySQL

Estas en el tema de Ejecutable de una aplicación Java integrada con MySQL en el foro de Java en Foros del Web. Hola a todos!! Estoy creando una aplicación: Un formulario en java con el cuál a través de mysql server me conecto a una BD y ...
  #1 (permalink)  
Antiguo 04/07/2012, 09:11
 
Fecha de Ingreso: mayo-2012
Mensajes: 26
Antigüedad: 10 años, 2 meses
Puntos: 0
Ejecutable de una aplicación Java integrada con MySQL

Hola a todos!!

Estoy creando una aplicación:
Un formulario en java con el cuál a través de mysql server me conecto a una BD y trabajo con ella. (Primero tengo que ejecutar mysql para que funcione)

Ahora tengo que crear un instalador, el cual: instale mysql, cree la BD y cree el ejecutable de la aplicación.
De manera que la gente que use la aplicación pinche en el instalador y se instale todo. Para que cuando la quieran usar, sólo tenga que ejecutar la aplicación, sin necesidad de abrir previamente mysql.


¿Alguien ha hecho algo parecido?¿Qué solución hay?


P.D: Por el momento he estado intentando integrar la BD a la aplicación usando el conector MXJ, siguiendo los consejos de este foro:

http://www.javahispano.org/java-se/post/1739271?currentPage=2

Aunque... no me va.


Gracias!!
  #2 (permalink)  
Antiguo 05/07/2012, 18:27
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 14 años
Puntos: 416
Respuesta: Ejecutable de una aplicación Java integrada con MySQL

La primera pregunta que me viene a la cabeza, ¿realmente necesita tu aplicación una base de datos MySQL?
Podrías talvez usar otra base de datos embedible que no solicite al usuario que se instale en su computador, como SQLite o HSQLDB.
  #3 (permalink)  
Antiguo 06/07/2012, 05:39
 
Fecha de Ingreso: mayo-2012
Mensajes: 26
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Ejecutable de una aplicación Java integrada con MySQL

Es una BD muy grande, y la seguridad es primordial, por lo que descarte esas opciones...
  #4 (permalink)  
Antiguo 06/07/2012, 19:33
Avatar de zero0097  
Fecha de Ingreso: abril-2010
Ubicación: México
Mensajes: 481
Antigüedad: 12 años, 3 meses
Puntos: 69
Respuesta: Ejecutable de una aplicación Java integrada con MySQL

Pues creo que con Java no es posible instalar otro programa, pero no sé, la verdad nunca lo he intentado, lo que si puedes usar un .bat con las instrucciones que requieras...
__________________
De nada, hay te encargo +1...
  #5 (permalink)  
Antiguo 07/07/2012, 11:34
 
Fecha de Ingreso: junio-2012
Mensajes: 22
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Ejecutable de una aplicación Java integrada con MySQL

Yo lo estaba haciendo como tú usando java + mysql, pero al leer este mensaje no me gustó la idea de que el usuario tenga que instalar mysql en su ordenador para poder usar la aplicación, con lo cual empecé a usar la base de datos embebida que viene por defecto en Netbeans, llamada Apache Derby, y me cubre mis necesidades sin ningún tipo de problema.

Pruebala si te sirve, aunque si comentas que necesitas mucha seguridad y es una base de datos grande a lo mejor se te queda corto, pero por probar no pierdes nada.

Un saludo.

PD: Aprovecho para preguntar en este hilo si alguien sabe como se hace para construir la aplicación con Netbeans y poder probarlo en algún otro ordenador por ir probando las versionesa, ya que le doy a "Build" y no me genera la base de datos
  #6 (permalink)  
Antiguo 07/07/2012, 13:35
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 17 años, 10 meses
Puntos: 454
Respuesta: Ejecutable de una aplicación Java integrada con MySQL

Hola:

Las tablas tendrás que generarlas tu propio programa java llamanando a un script que hagas de creación de tablas o bien con código java JDBC y sentencias statment.executeUpdate("create table ....).

Lo normal es que la aplicación java en el arranque se conecte a la base de datos y verifique si están las tablas ya creadas ( http://www.chuidiang.com/java/mysql/...e-MetaData.php ) y las crea si no lo están.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #7 (permalink)  
Antiguo 07/07/2012, 15:44
 
Fecha de Ingreso: junio-2012
Mensajes: 22
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Ejecutable de una aplicación Java integrada con MySQL

No, si yo conecto a la base de datos, hago consultas SELECT, INSERT TO... y va todo correcto, pero claro, es desde el netbeans compilando y ejecutando el código.

Mi pregunta es para generar el .jar, poder meterlo en otro ordenador y que funcione perfectamente, porque al generar el .jar me genera la aplicación pero no está la base de datos físicamente, ¿entiendes?

Gracias.
  #8 (permalink)  
Antiguo 07/07/2012, 16:23
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 17 años, 10 meses
Puntos: 454
Respuesta: Ejecutable de una aplicación Java integrada con MySQL

¿Qué quiere decir no está la base de datos físicamente?. Si usas apache derby, es un jar que debes distribuir con tu aplicación a otro ordenador y la base de datos ya está.

Luego viene lo que te he comentado, en la primera ejecución no habrá tablas ni nada en esa base de datos, tienes que crearlas desde tu código java como te indiqué antes.

Otro tema es si has configurado apache derby en netbeans para que guarde los datos en un fichero y quieres distribuir también esos datos. Tendrías que buscar ese fichero y llevártelo también al otro pc.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #9 (permalink)  
Antiguo 07/07/2012, 17:43
 
Fecha de Ingreso: junio-2012
Mensajes: 22
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Ejecutable de una aplicación Java integrada con MySQL

Lo que quiero decir con que no está la base de datos físicamente es que al ejecutarlo en otro ordenador me falla al hacer la conexion con la base de datos.

Entonces a ver si me he enterado bien, yo tengo una base de datos "Apache Derby" creada en Netbeans en la cual tengo creada una tabla.
Cuando le de a build, voy a tener la base de datos pero no va a tener ninguna tabla¿?
¿Las tablas creadas en Netbeans no se almacenan en el .jar ese que se crea automaticamente?
  #10 (permalink)  
Antiguo 07/07/2012, 22:35
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 17 años, 10 meses
Puntos: 454
Respuesta: Ejecutable de una aplicación Java integrada con MySQL

El fallo en la conexión habría que ver exactamente cual es. Pon la excepción exacta que da.

EFectivamente, las tablas no se guardan en el jar. Se guardan en un directorio que por defecto estará en el directorio de ejecución de la aplicación, salvo que en la conexión digas el path que quieres. Echa un ojo al apartado "Database" aquí http://db.apache.org/derby/papers/De.../ij_intro.html

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #11 (permalink)  
Antiguo 08/07/2012, 03:38
 
Fecha de Ingreso: junio-2012
Mensajes: 22
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Ejecutable de una aplicación Java integrada con MySQL

Pues el fallo que me da es:

"java.sql.SQLNonTransientConnectionException:Java. net.ConnectException: Error al conectarse al servidor localhost en el puerto 1527 con el mensaje Connection refused: connect."

La ruta que tengo puesta es: "jdbc:derby://localhost:1527/BaseDatos"

¿Algún inconveniente en la ruta?
  #12 (permalink)  
Antiguo 08/07/2012, 06:46
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 17 años, 10 meses
Puntos: 454
Respuesta: Ejecutable de una aplicación Java integrada con MySQL

Esa conexión no es a través de fichero, sino arrancando un servidor derby. El error "connection refused" indica que no hay nadie escuchando en localhost el puerto 1627 así que imagino que debes arrancar el servidor derby. Puedes hacerlo desde código, en tu main() con

Código java:
Ver original
  1. import org.apache.derby.drda.NetworkServerControl;
  2. import java.net.InetAddress;
  3. NetworkServerControl server = new NetworkServerControl
  4.     (InetAddress.getByName("localhost"),1527);
  5. server.start(null);

http://db.apache.org/derby/docs/dev/...dedserver.html

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #13 (permalink)  
Antiguo 08/07/2012, 11:16
 
Fecha de Ingreso: junio-2012
Mensajes: 22
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Ejecutable de una aplicación Java integrada con MySQL

Gracias, cuando leí tu respuesta me di cuenta que estaba haciendolo en modo servidor, y eso no es lo que yo quería. Asique a base de ensayo/error di con el path y consegui meter el path de la ruta de la base de datos.
Luego cuando cree con un instalador el proyecto sólo será insertar la base de datos en el mismo directorio a mano y ya está.

Gracias por todo!

Etiquetas: connector, ejecutable, integrar, mxj, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:53.