Подтвердить что ты не робот

Программно встраивать базу данных Java h2

В настоящий момент мы используем HSQLDB как встроенную базу данных, но мы ищем базу данных с меньшим объемом памяти при увеличении объема данных.

Derby/JavaDB сейчас не является опцией, поскольку он хранит свойства по всему миру в свойствах системы. Поэтому мы подумали о h2.

Пока мы использовали HSQLDB, мы создали объект Server, установили параметры и запустили его. Это описано здесь (и приведено как пример в классе org.hsqldb.test.TestBase).

Вопрос: может ли это быть сделано аналогично базе данных h2? У вас есть образцы кода для этого? Сканирование h2-страницы, я не нашел примера.

4b9b3361

Ответ 1

Из загрузки я вижу, что файл tutorial.html имеет этот

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

Ответ 2

Да, вы можете запустить H2 во встроенном режиме. Вы просто используете драйвер JDBC и подключаетесь к встроенному URL-адресу (пример):

Эта база данных может использоваться во встроенных режиме или в режиме сервера. Использовать его в встроенный режим, вам необходимо:

* 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

Пример подключения с JDBC к встроенной базе данных H2 (адаптирован из 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();

Если вы хотите использовать H2 в чисто встроенном режиме, вы тоже можете это сделать. См. Эту ссылку для получения дополнительной информации:

Вам просто нужно использовать специальный URL-адрес в обычном коде JDBC, например, "jdbc: h2: mem: db1".

Ответ 3

Если по какой-то причине вам нужна встроенная база данных H2 в режиме сервера, вы можете сделать это вручную с помощью API на http://www.h2database.com/javadoc/org/h2/tools/Server.html - или по добавление: AUTO_SERVER = ИСТИНА к URL-адресу базы данных.