Question

Pour le moment, nous utilisons HSQLDB comme base de données intégrée, mais nous recherchons une base de données moins encombrante en mémoire. lorsque le volume de données augmente.

Derby / JavaDB n'est pas une option pour le moment car il stocke les propriétés globalement dans les propriétés système. . Nous avons donc pensé à h2 .

Alors que nous utilisions HSQLDB, nous avons créé un objet Serveur, défini les paramètres et démarré. Ceci est décrit ici (et donné à titre d'exemple dans la classe org.hsqldb.test .TestBase).

La question est la suivante: cela peut-il être fait de la même manière avec la base de données h2? Avez-vous des exemples de code pour cela? En scannant la page h2, je n'ai pas trouvé d'exemple.

Était-ce utile?

La solution

À partir du téléchargement, je constate que le fichier tutorial.html contient ceci

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

Autres conseils

Oui, vous pouvez exécuter H2 en mode intégré. Vous utilisez simplement le pilote JDBC et vous vous connectez à une URL intégrée comme celle-ci (leur exemple):

  

Cette base de données peut être utilisée en mode embarqué   mode, ou en mode serveur. Pour l'utiliser dans   mode intégré, vous devez:

* 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

Exemple de connexion avec JDBC à une base de données H2 intégrée (adapté 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 vous souhaitez utiliser H2 en mode purement en mémoire / incorporé, vous pouvez également le faire. Voir ce lien pour plus d'informations:

Vous devez simplement utiliser une URL spéciale dans le code JDBC normal, telle que "jdbc: h2: mem: db1".

Si, pour une raison quelconque, vous avez besoin d'une base de données H2 intégrée en mode serveur, vous pouvez le faire manuellement à l'aide de l'API. sur http://www.h2database.com/javadoc/org/h2/ tools / Server.html - ou par en ajoutant; AUTO_SERVER = TRUE à l'URL de la base de données.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top