que - subtitulo h2
Ejecutando el archivo de script en la base de datos h2 (4)
En OSX (esto no debería importar) con v. 1.4.192 con los siguientes comandos, no importa lo que hice, no pude ver ningún resultado:
java -cp h2*.jar org.h2.tools.RunScript -url "jdbc:h2:file:~/testdb" -user someusername -password somepass -script select.sql
donde select.sql tenía simplemente:
select * from PUBLIC.MYTABLE;
Tuve que agregar los -showResults
antes de que empezara a aparecer la salida. Aquí está el comando completo:
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
Si no tiene el tarro necesario, descargue desde here (haga clic en los enlaces del jar
lado de cada versión). Algunos enlaces directos a los frascos son los siguientes:
1.4.193 (Actualizado 31-oct-2016)
1.4.192 (Actualizado 26-May-2016)
1.4.191 (Actualizado 21-Ene-2016)
1.4.190 (Actualizado 11-oct-2016)
En primer lugar, me gustaría decir que soy nuevo en la base de datos h2. Necesito ejecutar un archivo de script sql en la base de datos h2. Tengo un archivo de script test.sql y quiero ejecutar esto en la base de datos h2. ¿Es posible?
Para mí el sistema respondió con:
no encontró el controlador org.h2.tools.RunScript
La solución fue:
java -classpath <path_to_your_h2-*.jar> org.h2.tools.RunScript /
-url jdbc:h2:tcp://localhost/~/test -script test.sql
Consulte: http://www.h2database.com/html/tutorial.html#using_server
Si está utilizando spring-boot y spring-test con H2, buscará automáticamente schema.sql
y data.sql
en su ruta de clase e intentará ejecutarlos. Por lo tanto, si los coloca en src/test/resources
, deben ser recogidos y ejecutados automáticamente
Además, puede especificar los archivos de datos que desea ejecutar con propiedades. Por ejemplo, agregar una propiedad a su application.properties
como
spring.datasource.data=classpath:users.sql, classpath:books.sql, classpath:reviews.sql
configurará Spring para ejecutar esos tres archivos sql en lugar de ejecutar data.sql
Puedes usar la sentencia RUNSCRIPT de SQL :
RUNSCRIPT FROM ''test.sql''
o puede usar la herramienta RunScript standalone / command line :
java -cp h2*.jar org.h2.tools.RunScript -url jdbc:h2:~/test -script test.sql
También puede utilizar la herramienta RunScript dentro de una aplicación:
RunScript.execute(conn, new FileReader("test.sql"));