Подключение к системе управления базами данных H2 Database Engine

Введение

Многие уже слышали про систему управления базами данных H2. Это кроссплатформенная СУБД, которая полностью написана на Java и в основном применяется программистами, которые разрабатывают свои приложения на Java.

Но многие пользователи сталкиваются с проблемой получения доступа к базе данных H2. К таким пользователям относятся: те, кто впервые узнал про существование данной БД, кто хочет более подробно узнать об этой БД. Обычно это те люди, которые разрабатывают свои приложения на другом языке, кроме Java.

Большой плюс данной базы данных – она имеет возможность создавать тестовые наборы данных в памяти компьютера. То есть, Вы можете создать в памяти данных тестовую базу данных с таблицами и другими компонентами БД.

В данной статье будет описано два способа, при помощи которых можно будет подключиться к СУДБ H2 и просмотреть необходимые данные, выполнить скрипт и осуществить другие действия с БД.

Подключение к базе данных при помощи H2 Console

Если у Вас нет этого инструмента, то заходим на официальный сайт H2 Database и скачиваем инсталляционный пакет для Windows, либо же другой операционной системы. Устанавливаем все по умолчанию и затем запускам H2 Console (Пуск->Все программы->H2->H2 Console):

Запуск H2 Console
Запуск H2 Console

После запуска, в браузере, который установлен по умолчанию должна открыться веб-консоль управления базами данных H2, как показано ниже:

H2 Console
H2 Console

Также хочется напомнить, что данная консоль работает на порту 8082, поэтому смотрите, чтобы никакие брандмауэры, фаерволы и антивирусы не блокировали данный порт, и он был открыт.

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

Но нам необходимо подключиться к удаленной базе данных, тут все просто. Окно настроек веб-консоли подключения к СУБД будет выглядеть следующим образом:

Подключение к удаленной БД через H2 Console
Подключение к удаленной БД через H2 Console

Обратите внимание на JDBC URL, который мы прописали. Здесь указываем IP-адрес сервера, где находится наша база и затем ее имя, в нашем случае имя базы данных – test. Если для СУБД установлен логин и пароль, то указываем в соответствующих полях. Как видите, тест подключения к БД прошел успешно.

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

Если же база данных находится локально у Вас, то можно подключиться к ней, указав путь к соответствующему файлу базы данных, либо же вместо IP-сервера указать localhost:

Подключение к локальной БД через H2 Console
Подключение к локальной БД через H2 Console

Подключение к базе данных H2 при помощи Execute Query

Для этих целей нам понадобится приложение Execute Query, которое можно скачать в сети Интернет, поисковыми система умеют пользоваться многие.

Скачиваем архив с приложением и запускаем. Перед нами появляется главное окно программы, в котором необходимо будет нажать на кнопку New Connection для создания нового подключения к БД:

Создание нового подключения в Execute Query
Создание нового подключения в Execute Query

В появившемся окне нажимаем на кнопку New Driver:

Создание нового драйвера в Execute Query
Создание нового драйвера в Execute Query

В следующем окне необходимо указать путь к библиотеке, при помощи которой будет происходить подключение к БД. Файл библиотеки h2.jar находится в корне программы Execute Query, поэтому, нажимаем на кнопку Add Library и указываем путь к библиотеке h2.jar:

Добавление библиотеки в Execute Query
Добавление библиотеки в Execute Query

Хочется также напомнить, смотрите, чтобы версия драйвера и версия сервера совпадали. Если же не совпадают, то jar-файл с нужными классами и нужной версии можно скачать с официального сайта H2 Database Engine.

Затем нажимаем на кнопку Find, для поиска класса, который будет отвечать за подключение к базе данных:

Поиск драйвера в Execute Query
Поиск драйвера в Execute Query

В появившемся окне выбираем наш класс и нажимаем кнопку ОК:

Выбор драйвера в Execute Query
Выбор драйвера в Execute Query

В итоге окно с новым драйвером должно выглядеть примерно так:

Окно нового драйвера в Execute Query
Окно нового драйвера в Execute Query

Естественно, что имя драйвера, а также его описание, Вы можете указать свое. В самом конце нажимаем на кнопку Save.

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

Окно подключения к H2 Databse из Execute Query
Окно подключения к H2 Databse из Execute Query

Если сделали все правильно, то в «дереве» подключений должно появится наше подключение, где можно посмотреть все компоненты базы данных, а также всю другую доступную информацию:

Подключение к H2 Database при помощи Execute Query
Подключение к H2 Database при помощи Execute Query

Выполнение SQL-скрипта к базе данных H2 при помощи командной строки

Если же у Вас установлен определенный инструмент для доступа к H2 Database Engine, например:

  • H2 Console
  • Execute Query
  • другие средства доступа к H2

То проблем с выполнением SQL-скриптов не должно возникнуть. А что если не хочется устанавливать дополнительные инструменты ради того, чтобы просто выполнить один скрипт. Тут все очень просто, это можно сделать при помощи обычной командной строки, ну и естественно, в нашем арсенале должна быть библиотека h2.jar нужной версии.

Итак, мой комплект выглядит следующим образом:

Список файлов для выполнения SQL-скрипта к H2 Database
Список файлов для выполнения SQL-скрипта к H2 Database

В этот список вошли:

  • hjar – список классов для работы с базой H2 (его можно взять с официального сайта H2 Database Engine)
  • execute_sql – bat- файл, в котором прописана команда подключения к базе данных и команда выполнения SQL-скрипта
  • product.sql – непосредственно сам SQL-скрипт

Теперь рассмотрим наш скрипт и команду в bat-файле более подробно. Командный файл у меня выглядит следующим образом:

java -cp h2.jar org.h2.tools.RunScript -url jdbc:h2:tcp://192.168.1.1:9092/test -user test -password test -script product.sql
pause

То есть, используем соответствующий класс из библиотеки для выполнения скрипта, затем указываем JDBC URL, как это делали в с H2 Console и Execute Query, логин и пароль, если имеются и сам скрипт. А скрипт выглядит следующим образом:

INSERT INTO AV_USER (USER_ID,LOGIN,PASSWORD,FIO,CASHIERCODE,ZIP_CODE,POSITION_ID) VALUES (41206,8, 8, 'Петров ', 1, 246008,4);
commit;

Также можно выполнить SQL-скрипт на выборку данных и вывести результат в окно командной строки, но к команде тогда необходимо добавить ключ showResults. Ну а вообще, лучше вызвать справку и почитать все ключи, которые поддерживает текущий класс:

Подсказки по выполнению скрипты SQL к H2 Database
Подсказки по выполнению скрипты SQL к H2 Database

Заключение

Как видите, существует не мало способов подключения к базе данных H2. Это можно делать также из сред разработки, например, Eclipse.

Для разработчиков Java подключение к данной базе совсем не проблема. Данная статья предназначена для пользователей, которые впервые столкнулись с такой базой как H2, либо же хотят с ней познакомиться.

На самом деле, H2 Database поддерживает ODBC-драйвера, поэтому к ней можно подключиться и из другой среды разработки. Мы постараемся этот нюанс также разобрать.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Была ли эта статья полезна?

Статьи по теме

Оставить комментарий

Пожалуйста, авторизуйтесь чтобы добавить комментарий.
  Подписаться  
Уведомление о