在h2数据库中执行脚本文件

首先我想说的是对于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")); 

在OSX(这应该不是真的很重要)与1.4.192与以下命令,不pipe我做了什么,我看不到任何结果:

 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 (更新date为2016年10月31日)

1.4.192 (更新26-May-2016)

1.4.191 (Updated 21-Jan-2016)

1.4.190 (更新于2016年10月11日)

对我来说,系统回应:

没有findorg.h2.tools.RunScript驱动程序

解决scheme是:

 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