Pregunta

En este momento usamos HSQLDB como una base de datos integrada, pero buscamos una base de datos con menos espacio de memoria a medida que el volumen de datos crece.

Derby / JavaDB no es una opción en este momento porque almacena propiedades globalmente en las propiedades del sistema . Así que pensamos en h2 .

Mientras usamos HSQLDB creamos un objeto Servidor, configuramos los parámetros y lo iniciamos. Esto se describe aquí (y se proporciona como ejemplo en la clase org.hsqldb.test .TestBase).

La pregunta es: ¿esto también puede hacerse de manera análoga con la base de datos h2? ¿Tienes alguna muestra de código para eso? Escaneando la página h2, no encontré un ejemplo.

¿Fue útil?

Solución

Desde la descarga, veo que el archivo tutorial.html tiene esto

import org.h2.tools.Server;
...
// start the TCP Server
Server server = Server.createTcpServer(args).start();
...
// stop the TCP Server
server.stop();

Otros consejos

Sí, puedes ejecutar H2 en modo integrado. Solo utiliza el controlador JDBC y se conecta a una url incrustada como esta (su ejemplo):

  

Esta base de datos se puede utilizar en incrustado   modo, o en modo servidor. Para usarlo en   modo incrustado, debe:

* Add h2.jar to the classpath
* Use the JDBC driver class: org.h2.Driver
* The database URL jdbc:h2:~/test opens the database 'test' in your user home directory

Ejemplo de conexión con JDBC a una base de datos H2 incrustada (adaptado de http : //www.h2database.com/javadoc/org/h2/jdbcx/JdbcDataSource.html ):

import org.h2.jdbcx.JdbcDataSource;
// ...
JdbcDataSource ds = new JdbcDataSource();
ds.setURL("jdbc:h2:˜/test");
ds.setUser("sa");
ds.setPassword("sa");
Connection conn = ds.getConnection();

Si desea utilizar H2 en un modo puramente en memoria / integrado, también puede hacerlo. Vea este enlace para más información:

Solo necesitas usar una URL especial en el código JDBC normal como " jdbc: h2: mem: db1 " ;.

Si, por algún motivo, necesita una base de datos H2 integrada en modo servidor, puede hacerlo manualmente utilizando la API en http://www.h2database.com/javadoc/org/h2/ tools / Server.html - o por adjuntando; AUTO_SERVER = VERDADERO a la URL de la base de datos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top