まず第一に、私はh2データベースに不慣れであると言いたいです。h2データベースでSQLスクリプトファイルを実行する必要があります。スクリプトファイルtest.sqlがあり、これをh2データベースで実行したいと思います。出来ますか?
4 に答える
RUNSCRIPTSQLステートメントを使用できます。
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
それらは自動的にピックアップされて実行されるはずです。
さらに、実行するデータファイルをプロパティで指定できます。たとえば、あなたのapplication.properties
好きなものにプロパティを追加します
spring.datasource.data=classpath:users.sql, classpath:books.sql, classpath:reviews.sql
実行する代わりにこれらの3つのSQLファイルを実行するようにspringを構成しますdata.sql
次のコマンドを使用したv。1.4.192のOSX(これは実際には問題ではないはずです)では、何をしても結果が表示されませんでした。
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がない場合は、ここ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