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:licence:2i009:sgbd-h2:start

SGBD H2

H2 est un système de gestion de base de données relationnelle écrit en Java.

Instructions

Le système H2 est écrit en Java qu'il faudra installer avant si nécessaire: https://java.com/en/download/help/download_options.xml

Télécharger et installer H2

https://www.h2database.com/html/main.html et suivez les instructions d'installation.

  1. uniquement Windows: Windows Installer installe H2 comme programme dans le rpéertoire c:\Program Files ou C:\Program Files (X86)
  2. Window et Linux: vous pouvez aussi télécharger le fichier All platforms qui est une fichier Zip que vous pouvez décompresser. Le répertoire créée contient un sous-répertoire bin avec toutes les commandes H2.

Créer une base de données vide

Attention: la nouvelle version de H2 demande la création de la base avant le lancement de la console.

Méthode de création 1:

La première méthode consiste à lancer H2 (voir ci dessous) et choisir dans l'icône H2 affichée dans le menu “Create a new database” (click bouton droit).

La fenêtre affichée permet ensuite d'indiquer le chemin vers la base de données (attention: vous devez avoir le droit de créer le fichier).

Par exemple, vous pouvez mettre “~/td7” qui crée la base de données dans votre répertoire HOME (~). Il faut ensuite indiquer un utilisateur et un mot de passe non-vide.

Méthode de création 2:

Exemple dans une console cmd Windows :

  > java -cp 'C:\Program Files (x86)\H2\bin\h2-1.4.199.jar'  org.h2.tools.Shell
  Welcome to H2 Shell
  Exit with Ctrl+C
  [Enter]   
  URL       jdbc:h2:~/test
  [Enter]   org.h2.Driver
  Driver    org.h2.Driver
  [Enter]   
  User      sa
  Password  
  Type the same password again to confirm database creation.
  Password  
  Connected
  
  sql> quit
  Connection closed
  

Dans une installation locale il faut remplacer

  java -cp C:\Program Files (x86)\H2\bin\h2-1.4.199.jar org.h2.tools.Shell

par le chemin correspondant. Par exemple:

  java -cp C:\Users\toto\Desktop\h2-1.4.199\bin\h2-1.4.199.jar org.h2.tools.Shell

Pour Linux (à exécuter avant de lancer h2.sh):

  java -cp /home/toto/h2-1.4.199/bin/h2-1.4.199.jar org.h2.tools.Shell

Le mot de passe peut être vide et vous pouvez changer le nom de la base (test). La commande génère un fichier dans votre répertoire HOME (~).

Tutoriel H2

Lancer H2

Linux

 cd h2-2019-10-14/bin
 chmod +x h2.sh
 ./h2.sh

Windows

  1. Naviguer dans le répertoire h2-2019-10-14/bin
  2. Exécuter h2.bat

(ou chercher “H2 Console” et exécuter)

La commande lance le serveur et ouvre une fenêtre de connexion:

Cliquer sur Connecter

Remarque : en cas d'erreur de connexion, vérifier que la configuration est “Generic H2 (Embedded)” et le champ URL JDBC contient bien jdbc:h2:~/test

Chargement de données

Copier/coller le contenu du fichier sql avec les données d'une base de données correspondant à la séance de TME.

Cliquer sur Exécuter

Poser des requêtes SQL

Cliquer sur Effacer et écrire vos requêtes !

Par exemple :

   SELECT * FROM Astre;

Différences entre Oracle et H2

H2 et Oracle n'ont pas le même format par défaut pour les dates.

Oracle H2
Dates '30/12/2015' ou to_date('30-12-2015', 'dd-mm-yyyy') '2015-12-30'

Par exemple :

  • Oracle : where dateFin > to_date('21-02-2014', 'dd-mm-yyyy');
  • H2 : where dateFin > '2014-02-21');

Problèmes et solutions

Problème de quota

la commande suivante résout généralement le problème

rm -rf .cache/mozilla 

Problème fermeture de la BD

  • Message affiche: « The database has been closed », source possible: manque de mémoire ou espace disque (libérer de l’espace, éventuellement recréer la BD)

Problème de connexion entre H2 et Firefox

  • Erreur affichée à l'écran: 'remote connections (webAllowOthers) are disabled on this server'.
  • Solution: remplacer l'adresse IP dans l'URL par localhost: 123.547.89.27:8082 → localhost:8082

Changer les paramètres de connexion

  • Si problème de connexion (connexion toujours sur le même port): supprimer le fichier .h2.properties dans le répertoire racine du compte étudiant(cd ~/)
Remarque
  • lancer h2 uniquement avec la commande ./h2.sh et non pas avec java - h2..jar

Divers

Le site du SGBD H2 est http://www.h2database.com/

Retour vers l'accueil de l'UE 2I009

site/enseignement/licence/2i009/sgbd-h2/start.txt · Dernière modification: 24/02/2022 12:18 par camelia