H2 Console ne peux pas le voir tableaux créés par JAVA
J'ai téléchargé le H2 console de http://www.h2database.com/html/download.html
et j'ai configuré l'URL dans mon jdbc.properties
fichier
pour jdbc:h2:c:/data/Messaging
.
Je suis en utilisant la même URL dans le fichier de connexion à la base de données mais je ne peux pas voir les tableaux;
Je ne peux que voir les Informations de Schéma et quand j'essaie de select * from tables
dans, je ne peux pas voir les tableaux ni.
N'quelqu'un a une idée de ce qui pourrait être mauvais?
- Veuillez vérifier: stackoverflow.com/a/24012222/2439249
Vous devez vous connecter pour publier un commentaire.
Un délicat, c'est que le H2 console ne vous donnera pas une erreur si vous essayez de vous connecter à une URL JDBC qui n'existe pas. Il va plutôt créer une nouvelle base de données à l'URL! Pour se connecter à la mémoire DB, utilisez cette URL JDBC (http://localhost:8080/h2-console est la valeur par défaut de la console):
Si vous saisissez quelque chose comme jdbc:h2:~/test, un test.mv fichier sera créé dans votre répertoire /home. Mais votre application en serait toujours à l'aide de la mémoire de la base de données.
La console est disponible que si vous avez le h2 de la dépendance dans votre pom, et aussi le printemps des outils de développement de la dépendance. Si vous n'avez pas les outils de dépendance, alors vous pouvez aussi le voir en ayant le h2 de dépendance et d'ajouter les éléments suivants à votre demande.fichier de propriétés:
Si vous voulez la db comme un fichier, et non pas dans la mémoire, ajoutez les lignes suivantes à des applications.propriétés:
H2 n'est pas destinée pour les données persistantes, mais si vous voulez persister à des fins de test, puis ajouter:
Puis démarrez l'application, et à la console, utilisez cette URL JDBC:
Dans le cas où vous vous le demandiez, j'ai seulement 1 entrée en application.propriétés (pour le fichier de base de données) et voici mes dépendances:
Basé sur votre question, il n'a pas l'air de vous a été victime de ce piège, mais ce thread a fini de m'aider à cerner le problème, de sorte que je suis l'enregistrement de la solution ici pour la postérité, car il peut aider les autres avec le même problème.
J'ai aussi constaté que lorsque j'ai essayé d'ouvrir ma base de données avec le H2 console que j'ai eu ce qui semblait être un vide H2 base de données (en gros, juste une table INFORMATION_SCHEMA). Double-vérifier que j'ai obtenu le nom de la DB correct (
mydb.mv.db
), j'ai découvert que le H2 console avait créé un deuxième fichier de base de données,mydb.mv.db.mv.db
. Impair.Il s'avère que le H2 Console attend de vous que vous omettez le suffixe
.mv.db
de nom de fichier. Puisque je n'avais pas, il était à la recherche pourmydb.mv.db.mv.db
. La modification de la JDBC chaîne dejdbc:h2:mydb
résolu le problème et j'ai pu ensuite ouvrir le fichier à partir de H2 à la Console.Eu le même Problème.
Cela a résolu pour moi:
Pourquoi mon incorporé h2 programme écrit pour un .mv.le fichier db
Juste ajouté
;MV_STORE=FALSE
et;MVCC=FALSE
à l'url jdbc et tout a très bien fonctionné.C'est ainsi que vous permettre de mémoire permettre de base de données à l'aide de h2 module.
Vous devez vous assurer que les choses suivantes
spring.h2.console.enabled=true
localhost:8080/h2-console
JDBC URL:
->jdbc:h2:mem:testdb
5.Frapper le bouton de connexion
Salam
J'ai utilisé le ci-dessous et je vois ma table créées.
Vous pouvez également contourner ce problème en utilisant la même version entre H2 de la console et de votre code Java.
C'est comment j'ai résolu ce même problème ici.
Ajouter l'Annotation @EntityScan("paquet") dans la classe principale