Exécution du fichier de script dans la base de données h2
tout d'abord, je voudrais dire que je suis nouveau à la base de données h2. J'ai besoin d'exécuter un fichier de script sql dans la base de données h2. J'ai un fichier de script de test.sql et moi voulons exécuter ceci dans la base de données h2. Est-il possible?
4 réponses
Vous pouvez utiliser le runscript SQL statement:
RUNSCRIPT FROM 'test.sql'
ou vous pouvez utiliser le RunScript autonome / outil de ligne de commande:
java -cp h2*.jar org.h2.tools.RunScript -url jdbc:h2:~/test -script test.sql
vous pouvez également utiliser L'outil RunScript dans une application:
RunScript.execute(conn, new FileReader("test.sql"));
Si vous utilisez printemps-boot et printemps-test avec H2, il recherchera automatiquement schema.sql
et data.sql
dans votre chemin de classe et de tenter de l'exécuter. Donc, si vous les mettez dans src/test/resources
ils doivent être ramassés et d'exécuter automatiquement
En outre, vous pouvez spécifier les fichiers de données que vous voulez exécuter avec les propriétés. Par exemple, ajouter une propriété à votreapplication.properties
spring.datasource.data=classpath:users.sql, classpath:books.sql, classpath:reviews.sql
va configurer spring pour exécuter ces trois fichiers sql au lieu d'exécuter data.sql
Sur OSX (cela ne devrait pas vraiment) avec v. 1.4.192 avec les commandes suivantes, peu importe ce que j'ai fait, je ne pouvais pas voir tous les résultats:
java -cp h2*.jar org.h2.tools.RunScript -url "jdbc:h2:file:~/testdb" -user someusername -password somepass -script select.sql
sélectionner.sql n'avait tout simplement:
select * from PUBLIC.MYTABLE;
j'ai dû ajouter le -showResults
avant que la sortie ne commence à apparaître. Voici la commande:
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 vous n'avez pas le bocal nécessaire, téléchargez à partir de ici (Cliquez sur le jar
liens à côté de chaque version). Voici quelques liens directs vers les pots:
1.4.193(Mise À Jour: 31-Oct-2016)
1.4.192(Mise À Jour Le 26-Mai-2016)
1.4.191(mis à jour 21-Jan-2016)
1.4.190(Mis À Jour Le 11-Oct-2016)
Pour moi, le système a répondu:
n'ai pas trouvé org.h2.outils.Pilote RunScript
la solution était:
java -classpath <path_to_your_h2-*.jar> org.h2.tools.RunScript \
-url jdbc:h2:tcp://localhost/~/test -script test.sql
Voir: http://www.h2database.com/html/tutorial.html#using_server