70

まず第一に、私はh2データベースに不慣れであると言いたいです。h2データベースでSQLスクリプトファイルを実行する必要があります。スクリプトファイルtest.sqlがあり、これをh2データベースで実行したいと思います。出来ますか?

4

4 に答える 4

108

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"));
于 2012-05-21T04:55:21.050 に答える
18

H2でspring-bootとspring-testを使用している場合は、クラスパス内で自動的に検索されschema.sqldata.sqlこれらの実行が試行されます。したがって、それらを入れると、src/test/resourcesそれらは自動的にピックアップされて実行されるはずです。

さらに、実行するデータファイルをプロパティで指定できます。たとえば、あなたのapplication.properties好きなものにプロパティを追加します

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

実行する代わりにこれらの3つのSQLファイルを実行するようにspringを構成しますdata.sql

于 2018-03-12T11:48:09.320 に答える
11

次のコマンドを使用した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日更新)

于 2016-11-21T18:42:21.703 に答える
2

私の場合、システムは次のように応答しました。

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

于 2015-04-22T13:38:45.203 に答える