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

Ceci est une ancienne révision du document !


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

ou

  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

rm -rf .cache/mozilla résout généralement le problème

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 ~/)

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.1645102340.txt.gz · Dernière modification: 17/02/2022 13:52 par camelia