Выполнение файла сценария в базе данных 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