Выполнение файла сценария в базе данных h2

прежде всего, я хотел бы сказать, что я новичок в базе данных h2. Мне нужно выполнить файл сценария sql в базе данных h2. У меня есть тест файла сценария.sql и я хотим выполнить это в базе данных h2. Возможно ли это?

4 ответов


можно использовать инструкция SQL RUNSCRIPT:

RUNSCRIPT FROM 'test.sql'

или вы можете использовать runscript автономный / инструмент командной строки:

java -cp h2*.jar org.h2.tools.RunScript -url jdbc:h2:~/test -script test.sql

вы также можете использовать инструмент RunScript в приложении:

RunScript.execute(conn, new FileReader("test.sql"));

если вы используете spring-boot и spring-test с H2, он автоматически будет искать schema.sql и data.sql в вашем пути к классу и попытайтесь запустить их. Поэтому, если вы поместите их в src/test/resources они должны быть подобраны и выполняться автоматически

кроме того, вы можете указать файлы данных, которые вы хотите запустить со свойствами. Например, добавление свойства в вашapplication.properties как

spring.datasource.data=classpath:users.sql, classpath:books.sql, classpath:reviews.sql

настроит spring для запуска этих трех файлов sql вместо запуска data.sql


на OSX (это не должно иметь большого значения) с V. 1.4.192 со следующими командами, независимо от того, что я сделал, я не видел никаких результатов:

java -cp h2*.jar org.h2.tools.RunScript -url "jdbc:h2:file:~/testdb" -user someusername -password somepass -script select.sql

где выбрать.sql имел просто:

select * from PUBLIC.MYTABLE;

Я должен был добавить -showResults перед выходом начал появляться. Вот полная команда:

java -cp /Users/az/.m2/repository/com/h2database/h2/1.4.192/h2-1.4.192.jar org.h2.tools.RunScript -url "jdbc:h2:file:~/testdb" -user someusername -password somepass -script select.sql -showResults

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

1.4.193 (Обновлено 31-Окт-2016)

1.4.192 (Обновление 26 Мая 2016)

1.4.191 (Обновлено 21-Янв-2016)

1.4.190 (Обновление 11-Oct-2016)


для меня система ответила:

не найти org.Н2.инструменты.Драйвер команд runscript

решение:

java -classpath <path_to_your_h2-*.jar> org.h2.tools.RunScript \
-url jdbc:h2:tcp://localhost/~/test -script test.sql

см.:http://www.h2database.com/html/tutorial.html#using_server