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

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
site:enseignement:documentation:h2 [26/11/2020 09:54]
amine
site:enseignement:documentation:h2 [15/11/2021 18:50] (Version actuelle)
amann [Télécharger et installer H2]
Ligne 1: Ligne 1:
 {{indexmenu_n>​10}} {{indexmenu_n>​10}}
  
-===== Le SGBD H2===== +===== SGBD H2 =====
-===Pré-requis : Java===+
  
-Vérifier que java est installé  +H2 est un système de gestion de base de données relationnelle écrit en Java. 
-<code bash> +
-   java –version  +
-</​code>​+
  
-sinon télécharger le dernier jdk [[https://​jdk.java.net/​|java]] ​ (ou la jre [[https://​www.java.com/​fr/​download/​|java 8]] ) et l’installer.+==== Instructions ====
  
-**Seulement ​si nécessaire**, compléter le PATH+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]]
  
-//Sous Linux// :  +==== Télécharger et installer H2 ==== 
-<code bash> + ​[[https:​//www.h2database.com/html/main.html]] et suivez les instructions d'​installation.
-   ​export PATH=${PATH}:​chemin vers le dossier bin contenant java +
-</​code>​+
  
-//​Sous ​Windows// +  - uniquement ​Windows: ​Windows Installer installe H2 comme programme dans le répertoire c:\Program Files ou C:\Program Files (X86) 
-<code bash> +  - Window et Linux: vous pouvez aussi télécharger ​le fichier //All platforms// qui est une fichier Zip que vous pouvez décompresserLe répertoire créé contient un sous-répertoire//bin// avec toutes les commandes H2. 
-   set PATH=%PATH%;​chemin vers le dossier contenant java.exe +==== Créer une base de données vide ====
-</code>+
  
-===Téléchargement===+<fc #​ff0000>​Attention:​ la nouvelle version de H2 demande la création de la base avant le lancement de la console.</​fc>​
  
-Il y a 2 outils distincts ​un SGBD et une interface d’accès au SGBD.+=== Méthodé de création 1===
  
-Le SGBD [[https://​www.h2database.com/​html/​main.html|H2]]. Voir aussi le [[https://​www.h2database.com/​h2.pdf|manuel H2]] en anglais. +La première méthode consiste à Lancer ​H2 (voir ci dessous) et choisir dans l'**icône H2 affiché dans le menu** "​Create a new database"​ (click bouton droit)
-**Télécharger** [[https://​nuage.lip6.fr/​s/​FrjfmmocrYmDFit|h2-1.4.200.jar]] dans votre dossier de travail ou exécuter les instructions suivantes :+
  
-<code bash> +{{ :site:​enseignement:​licence:​2i009:​sgbd-h2:​capture_h2_1.png?200 |}}
-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 +
-</​code>​+
  
-===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 
  
-<code bash> +La fenêtre affiché permet ensuite d'​indiquer le chemin vers la base de données (attention: vous devez avoir le droit de créer le fichier)
-cd votre_dossier_de_travail +
-java -cp h2-1.4.200.jar org.h2.tools.Server -tcp -tcpPort 9093 & +
-</​code>​+
  
 +{{ :​site:​enseignement:​licence:​2i009:​sgbd-h2:​capture_h2_2.png?​400 |}}
  
-Vérifier que le message suivant s’affiche :  +Par exemple, vous pouvez mettre "~/td7" qui crée la base de donnée dans votre répertore HOME (~)Il faut ensuite indiquer un utilisateur et un mot de passe non-vide.
-<​code>​ +
-TCP server running at  tcp://127.0.1.1:9093 (only local connections) +
-</​code>​+
  
 +=== Méthodé de création 2: ===
 +Exemple dans une console cmd Windows :
  
-Vérifier que le serveur ​H2 est démarré ​afficher un processus nommé ​h2 :+    > 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
  
-<code bash> +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 (~). 
-ps -u | grep h2 | grep Server +
-</​code>​+
  
-cela affiche ​//java -cp h2-1.4.200.jar org.h2.tools.Server -tcp -tcpPort 9093//+[[http://www.h2database.com/html/tutorial.html|Tutoriel H2]]
  
-===Démarrage de l’interface d’accès===+==== Lancer H2 ====
  
-On démarre SQLWorkbench pour accéder au SGBD H2. Pour cela, ouvrir un terminal et aller dans votre dossier de travail : 
-<code bash> 
-cd votre_dossier_de_travail 
-java -jar sqlworkbench.jar 
-</​code>​ 
  
-Compléter les champs suivants dans le profil de connexion : +=== Linux ===
-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+
  
-{{:​site:​enseignement:​master:​mlbda:​tmes:​sqlworkbench1.png?​400|image}} 
  
-Revenir dans la fenêtre « Select Connection profile »+   cd h2-2019-10-14/​bin 
 +   chmod +x h2.sh 
 +   ​./​h2.sh
  
-{{:​site:​enseignement:​master:​mlbda:​tmes:​sqlworkbench2.png?​400|}} 
  
-Remplacer la valeur du champ URL par ceci pour charger la base existante tpmondial. +=== Windows ===
-Attention ne pas indiquer le suffixe .mv.db du fichier de la base. Exemples d’URL :+
  
-/* Si le nom de la base ne correspond à aucun fichier existant, alors une nouvelle base vide sera créée +  - Naviguer dans le répertoire h2-2019-10-14/bin 
-*/+  - Exécuter h2.bat
  
 +(ou chercher "H2 Console"​ et exécuter)
 +
 +
 +La commande lance le serveur et ouvre une fenêtre de connexion: ​
 +
 +{{:​site:​enseignement:​licence:​2i009:​documents-tme:​h2_1.png?​500|}}
 +
 +
 +
 +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 ''​ {{:​site:​enseignement:​licence:​2i009:​documents-tme:​h2_2.png?​500|}}
 +
 +==== 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.
 +
 +   * TME7 : [[http://​www-bd.lip6.fr/​wiki/​site/​enseignement/​licence/​2i009/​donnees-astronomiques| BD-données-astronomiques]],​ [[http://​www-bd.lip6.fr/​wiki/​site/​enseignement/​licence/​2i009/​donnees-foofle-h2| BD-données-Foofle]]
 +   * TME5, 6 et 7 : [[http://​www-bd.lip6.fr/​ens/​2I009_2015/​bd-jo-v2_H2.html| BD-JeuxOlympiques-v2]]
 +   * TME4 : [[http://​www-bd.lip6.fr/​ens/​2I009_2015/​bd-jo-v1_H2.html| BD-JeuxOlympiques-v1]] ​
 +
 +Cliquer sur **Exécuter**
 +
 +==== Poser des requêtes SQL ====
 +
 +Cliquer sur **Effacer** et écrire vos requêtes !
 +
 +Par exemple :
 +<code sql>
 +   ​SELECT * FROM Astre;
 +</​code>​
  
-   ​jdbc:​h2:​tcp://​localhost:​9093/​~/​TP1/​tpmondial 
  
-Permet de charger la base se trouvant dans le fichier ~/​TP1/​tpmondial.mv.db+==== Différences entre Oracle et H2 ==== 
 +H2 et Oracle n'ont pas le même format par défaut pour les dates.
  
-Sous windows remplacer ~par le lecteur C: suivi de l'emplacement absolu du fichier contenant la basesans le suffixe du fichier.+^ ^ Oracle ^ H2 ^ 
 +| Dates | ''​ '30/12/​2015'​ ''​ ou ''//​to_date//​('​30-12-2015', ​'​dd-mm-yyyy'​)'' ​ | ''​ '​2015-12-30'​ ''​ |
  
-   jdbc:h2:tcp://localhost:​9093/C:\Users\PRENOM\Documents\TP1\tpmondial+Par exemple ​ 
 +  * Oracle ​''​...**where** dateFin > //to_date//('​21-02-2014',​ '​dd-mm-yyyy'​);''​ 
 +  * H2 ''​...**where** dateFin > '​2014-02-21'​);''​
  
-Permet de charger la base tpmondial.mv.db se trouvant dans le dossier Documents\TP1 de l’utilisateur. +==== Divers ====
-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.+
  
 +Le site du SGBD [[http://​www.h2database.com/​| H2]] est [[http://​www.h2database.com/​]]
  
site/enseignement/documentation/h2.1606380872.txt.gz · Dernière modification: 26/11/2020 09:54 par amine