2010-08-03 13 views
10

No tengo claro los pasos/detalles de configuración sobre cómo puedo incrustar mysql en una aplicación de escritorio Java para que pueda instalarse en cualquier máquina a través de un único archivo ejecutable y establecer conjuntos hasta la base de datos y también proporciona un exe para ejecutar la aplicación. Hasta ahora he construido mi aplicación usando netbeans y he usado mysql para configurar database.plz, guíame más.Incrustar mysql en la aplicación de escritorio java

+0

¿incrusta mysql en la aplicación de escritorio? ¿cómo? ¿Es posible? –

Respuesta

7

MySQL no es una base de datos integrada, el único JAR relacionado es el controlador JDBC. Requiere un proceso de instalación, que puede ser secuenciado a través de Java, pero el proceso definitivamente funcionará fuera de la aplicación Java que pretenda que admita. Es decir, puede desactivar su aplicación Java, pero el servicio/daemon de MySQL seguirá ejecutándose.

Solo el libmysqld es incrustable.

Hay bases de datos incrustadas - SQLite, Firebird - y bases de datos integradas hechas en Java - HSQL, Derby/(no recuerdo cómo se llamaba antes). Creo que SQL Server Compact Edition es integrable, mientras que SQL Server Express/MSDE no. No sé si Oracle tiene una versión incrustada ...

+0

Hay una versión de MySQL, libmysqld para incrustación. Pero estoy de acuerdo con usted en que hay otras bases de datos más adecuadas para el trabajo. Como esto es Java, recomendaría HSQL. – Cesar

+2

@Cesar: Thx, no sabía acerca de libmysqld –

1

Aunque theoritcaly possable no sería fácil. Las distribuciones MySql estándar suponen que desea configurar un servidor de base de datos de uso general con aplicaciones de cliente separadas que cominican a través de odbc, etc.

Puede ser mejor que mire las opciones de "java puro" como HSQL o JavaDB diseñadas para embebido en una aplicación java, y necesita poca o ninguna "configuración".

Otra posibilidad es Sqlite que solo necesita un archivo binario único más el archivo jar sqljbbc. De nuevo, esto está diseñado desde cero para ser integrado dentro de una aplicación y requiere cero administrador además de asignar un archivo para la base de datos.

+0

teniendo en cuenta que es posible, como dijiste, puedes mencionar cualquier enlace tutorial sobre cómo configurarlo, que sea complejo –

3

Recomiendo encarecidamente H2. Es una base de datos incrustada muy rápida escrita en Java y he encontrado que es más fácil de usar que algunas de las otras mencionadas, como HSQL.

Editar:

En el sitio web de H2, se puede ver un speed comparison of H2 vs Derby, HSQL, MySql, etc ...

Here's information on how to backup the database.

+0

puede gestionar gran cantidad de datos y puede hacemos una copia de seguridad fácilmente? – Andrew

+0

Copia de seguridad de h2 es bastante fácil. La última vez que lo probé, H2 no escaseaba demasiado a gigabytes de datos como MySql. Sin embargo, creo que debería ser capaz de manejar 5000 filas sin muchos problemas. –

0

Si desea una base de datos incrustada con java, utilice una escrita en Java diseñada para ser incrustada. Sé que Apache Derby se puede incrustar y aparentemente H2 también.

¿Cuánta cantidad de datos necesita para manejar la base de datos?

+0

Estoy trabajando en un tipo de software de contabilidad que tiene que hacer un seguimiento de los pagos realizados y luego generar informes en consecuencia ... ahora, ¿qué tipo de base de datos incrustado puede ser suficiente mi requerimiento? – Andrew

+0

Acceda con estimaciones de la cantidad de datos que espera. Solo el tamaño - 1, 1000, 1000000, etc. - para el número de tablas, filas en cada tabla, cantidad total de datos para cada tabla, etc. –

+0

Las filas pueden ser de 5k y luego se moverán al archivo ... ahora puedes ayudar? – Andrew

1

Eche un vistazo a http://dev.mysql.com/doc/refman/5.0/en/connector-mxj.html. No recuerdo los detalles exactos, pero pude incrustar MySQL db en la aplicación de escritorio sin que el usuario tenga que instalarlo por separado.

La clase de clave es com.mysql.management.MysqldResource.

Aquí está el ejemplo, http://dev.mysql.com/doc/refman/5.0/en/connector-mxj-configuration-java-object.html

El archivo mysql-connector-MXJ-GPL-db-files.jar contiene los archivos de instalación de MySQL para todas las plataformas. Si sabe cuál es su plataforma de destino, puede quitar otras versiones de plataforma de jar para reducir el tamaño de descarga para el usuario final.

Cuestiones relacionadas