まず第一に、私はh2データベースに新しいと言いたいです。 h2データベースでsqlスクリプトファイルを実行する必要があります。スクリプトファイルtest.sqlがあり、これをh2データベースで実行したい。出来ますか?
RUNSCRIPT SQLステートメント を使用できます。
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"));
H2でspring-bootとspring-testを使用している場合、クラスパスでschema.sql
とdata.sql
が自動的に検索され、これらの実行が試行されます。したがって、それらをsrc/test/resources
に入れると、それらは自動的に選択されて実行されるはずです
さらに、プロパティで実行するデータファイルを指定できます。たとえば、yourapplication.properties
にプロパティを追加する
spring.datasource.data=classpath:users.sql, classpath:books.sql, classpath:reviews.sql
data.sql
を実行する代わりに、これら3つのsqlファイルを実行するようにspringを構成します
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
必要なjarがない場合は、 here (各バージョンの横にあるjar
リンクをクリックします)。 jarへの直接リンクは次のとおりです。
1.4.193 (2016年10月31日に更新)
1.4.192 (2016年5月26日に更新)
1.4.191 (2016年1月21日に更新)
1.4.190 (2016年10月11日に更新)
私にとって、システムは次のように応答しました。
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