Прежде всего, я хотел бы сказать, что я новичок в базе данных h2. Мне нужно выполнить файл сценария sql в базе данных h2. У меня есть файл сценария test.sql, и я хочу выполнить его в базе данных h2. Является ли это возможным?Выполнение файла сценария в базе данных h2
ответ
Вы можете использовать RUNSCRIPT SQL statement:
RUNSCRIPT FROM 'test.sql'
или вы можете использовать RunScript standalone/command line tool:
java -cp h2*.jar org.h2.tools.RunScript -url jdbc:h2:~/test -script test.sql
Вы также можете использовать инструмент RunScript внутри приложения:
RunScript.execute(conn, new FileReader("test.sql"));
Для мне ответила система:
не нашел драйвера org.h2.tools.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
На 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
где select.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
Если у вас нет необходимого банку, скачать с here (Нажмите на jar
ссылок рядом с каждой версией). Некоторые прямые ссылки на банки следующим образом:
1.4.193(Обновлено 31-Октябрь-2016)
1.4.192(Updated 26-May-2016)
1.4.191(Обновлено 21-январе- 2016)
1.4.190(Обновлено 11-Октябрь-2016)
Есть ли уловка для использования вашего первого примера? У меня есть 'bootstrap.sql', который содержит ничего, кроме' RUNSCRIPT FROM 'test.sql'', а мой test.sql является братом для файла начальной загрузки. Если я запускаю 'jdbc: h2: mem: etsnom; INIT = RUNSCRIPT FROM 'C:/workspace/bootstrap.sql'', я получаю' FileNotFoundException' – Snekse
Если мы используем второй метод Томаса для создания базы данных, тогда имя пользователя и пароль по умолчанию будут установлены, т.е. "" [пустая строка]. это то, что реализовано в классе «RunScript». Однако всегда очень важно установить имя пользователя и пароль для доступа к базе данных и сделать это в случае базы данных H2, мы можем выполнить команду ниже: java -cp h2 *.jar org.h2.tools.RunScript -url jdbc: h2: ~/test -user sa -password sa -script test.sql –