Bases de Données / Databases

Site Web de l'équipe BD du LIP6 / LIP6 DB Web Site

Outils pour utilisateurs

Outils du site


site:enseignement:documentation:h2

Ceci est une ancienne révision du document !


Le SGBD H2

Pré-requis : Java

Vérifier que java est installé

   java –version 

sinon télécharger le dernier jdk java (ou la jre java 8 ) et l’installer.

Seulement si nécessaire, compléter le PATH

Sous Linux :

   export PATH=${PATH}:chemin vers le dossier bin contenant java

Sous Windows :

   set PATH=%PATH%;chemin vers le dossier contenant java.exe

Téléchargement

Il y a 2 outils distincts : un SGBD et une interface d’accès au SGBD.

Le SGBD H2. Voir aussi le manuel H2 en anglais. Télécharger h2-1.4.200.jar dans votre dossier de travail ou exécuter les instructions suivantes :

cd votre_dossier_de_travail
wget https://h2database.com/h2-2019-10-14.zip
unzip h2-2019-10-14.zip 
mv h2/bin/*.jar .
rm h2*.zip

Démarrage du SGBD

On démarre le SGBD H2 en mode “serveur”. Ouvrir un terminal et aller dans votre dossier de travail. On utilise le port 9093

cd votre_dossier_de_travail
java -cp h2-1.4.200.jar org.h2.tools.Server -tcp -tcpPort 9093 &

Vérifier que le message suivant s’affiche :

TCP server running at  tcp://127.0.1.1:9093 (only local connections)

Vérifier que le serveur H2 est démarré : afficher un processus nommé h2 :

ps -u | grep h2 | grep Server

cela affiche java -cp h2-1.4.200.jar org.h2.tools.Server -tcp -tcpPort 9093

Démarrage de l’interface d’accès

On démarre SQLWorkbench pour accéder au SGBD H2. Pour cela, ouvrir un terminal et aller dans votre dossier de travail :

cd votre_dossier_de_travail
java -jar sqlworkbench.jar

Compléter les champs suivants dans le profil de connexion : Driver: sélectionner H2 Database Engine puis Cliquer sur Manage Drivers (ou Edit the driver definition) et sélectionner H2 database Engine dans le panneau de gauche et cliquer sur le bouton avec une icône de dossier pour indiquer l’emplacement du fichier h2-1.4.200.jar

image

Revenir dans la fenêtre « Select Connection profile »

Remplacer la valeur du champ URL par ceci pour charger la base existante tpmondial. Attention ne pas indiquer le suffixe .mv.db du fichier de la base. Exemples d’URL :

 jdbc:h2:tcp://localhost:9093/~/TP1/tpmondial

Permet de charger la base se trouvant dans le fichier ~/TP1/tpmondial.mv.db

Sous windows remplacer ~/ par le lecteur C: suivi de l'emplacement absolu du fichier contenant la base, sans le suffixe du fichier.

 jdbc:h2:tcp://localhost:9093/C:\Users\PRENOM\Documents\TP1\tpmondial

Permet de charger la base tpmondial.mv.db se trouvant dans le dossier Documents\TP1 de l’utilisateur. Puis compléter le champ Username pour indiquer que la base Mondial a été créée par l’utilisateur nommé etu :

  • Username: etu
  • Le champ Password reste vide.

Questions diverses

Puis-je modifier le contenu de la base ?

Oui, avec les instructions SQL insert, update et delete. Faire un

 commit; 

à la fin de vos instructions pour que les données soient visibles des autres applis qui interrogent la base.

Peut-on éteindre le SGDB H2 ?

Ouvrir un terminal:

 cd votre_dossier_de_travail
 java -cp h2-1.4.200.jar org.h2.tools.Server -tcpShutdown tcp://localhost:9093

Est-ce que le SGBD H2 est démarré ?

Dans un terminal, afficher un processus nommé h2 :

 ps -u | grep h2 | grep Server

Accès à la base depuis Windows

Voir les indications complémentaires TP BD sous windows et les adapter à votre cas.

Consulter le schéma d’une base

Les instructions SQL pour consulter le schéma d’une base sans utiliser Database Explorer :

 show tables;        - affiche le nom des tables 
 show columns from matable;         -affiche le schéma relationnel de matable.

Peut-on créer, avec H2, une nouvelle base autre que la base Mondial ?

Oui, pour cela il faut éteindre H2 puis le relancer avec l’option -ifNotExists

 java -cp h2-1.4.200.jar org.h2.tools.Server -ifNotExists -tcp -tcpPort 9093 &

Comment utiliser wget depuis les salles de la PPTI ?

En salle de TME, la commande wget est bloquée car les connexions sortantes ne sont pas autorisée. Il faut préciser de passer par le proxy en ajoutant les options use_proxy et https_proxy :

wget use_proxy=on -e https_proxy=proxy:3128 url_du_fichier_à_télécharger
site/enseignement/documentation/h2.1606380982.txt.gz · Dernière modification: 26/11/2020 09:56 par amine