site:enseignement:documentation:h2
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
site:enseignement:documentation:h2 [15/11/2021 18:41] – [Téléchargement] amann | site:enseignement:documentation:h2 [15/11/2021 18:50] (Version actuelle) – [Télécharger et installer H2] amann | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
{{indexmenu_n> | {{indexmenu_n> | ||
- | ===== 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 | + | |
- | </ | + | |
- | sinon télécharger le dernier jdk [[https:// | + | ==== Instructions ==== |
- | **Seulement | + | Le système H2 est écrit en Java qu'il faudra installer avant si nécessaire: [[https:// |
- | //Sous Linux// : | + | ==== Télécharger et installer H2 ==== |
- | <code bash> | + | |
- | | + | |
- | </ | + | |
- | // | + | - uniquement |
- | <code bash> | + | - Window et Linux: vous pouvez aussi télécharger |
- | set PATH=%PATH%; | + | ==== Créer une base de données vide ==== |
- | </code> | + | |
- | ====Téléchargement==== | + | <fc # |
- | Il y a 2 outils distincts | + | === Méthodé de création 1: === |
- | Le SGBD [[https:// | + | La première méthode consiste à Lancer |
- | **Télécharger** [[https:// | + | |
- | suivez les instructions sur [[https:// | + | |
- | En Linux, vous pouvez aussi exécuter les instructions suivantes: | + | {{ :site: |
- | <code bash> | ||
- | cd votre_dossier_de_travail | ||
- | wget https:// | ||
- | unzip h2-2019-10-14.zip | ||
- | mv h2/ | ||
- | rm h2*.zip | ||
- | </ | ||
+ | La fenêtre affiché permet ensuite d' | ||
+ | {{ : | ||
- | ====Démarrage du SGBD H2==== | + | Par exemple, vous pouvez mettre " |
- | On démarre le SGBD H2 en mode “serveur”. Ouvrir | + | |
- | <code bash> | + | === Méthodé de création 2: === |
- | cd votre_dossier_de_travail | + | Exemple dans une console cmd Windows : |
- | java -cp h2-1.4.200.jar org.h2.tools.Server -tcp -tcpPort 9093 & | + | |
- | </ | + | |
+ | > java -cp ' | ||
+ | Welcome to H2 Shell | ||
+ | Exit with Ctrl+C | ||
+ | [Enter] | ||
+ | URL | ||
+ | [Enter] | ||
+ | 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: | ||
+ | ou | ||
+ | java -cp / | ||
- | Vérifier que le message suivant s’affiche : | + | Le mot de passe peut être vide et vous pouvez changer |
- | < | + | |
- | TCP server running at tcp://127.0.1.1: | + | |
- | </ | + | |
+ | [[http:// | ||
- | Vérifier que le serveur | + | ==== Lancer |
- | <code bash> | ||
- | ps -u | grep h2 | grep Server | ||
- | </ | ||
- | cela affiche //java -cp h2-1.4.200.jar org.h2.tools.Server -tcp -tcpPort 9093// | + | === Linux === |
+ | cd h2-2019-10-14/ | ||
+ | chmod +x h2.sh | ||
+ | | ||
- | ====Démarrage de l’interface d’accès SQLWorkbench==== | ||
- | On utilise [[https:// | + | === Windows === |
- | <code bash> | + | |
- | cd votre_dossier_de_travail | + | |
- | java -jar sqlworkbench.jar | + | |
- | </ | + | |
- | Compléter les champs suivants | + | - Naviguer |
- | Driver: sélectionner H2 Database Engine puis | + | - Exécuter |
- | 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 | + | |
- | {{: | + | (ou chercher "H2 Console" |
- | Revenir dans la fenêtre « Select Connection profile » | ||
- | {{:site: | + | La commande lance le serveur et ouvre une fenêtre de connexion: |
- | Remplacer la valeur du champ URL par ceci pour charger la base existante tpmondial. | + | {{:site: |
- | 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. | ||
- | */ | ||
- | | + | Cliquer sur **Connecter** |
- | Permet de charger la base se trouvant dans le fichier ~/ | ||
- | Sous windows, cela charge | + | __Remarque__ : en cas d' |
- | /* OLD ---------------- | + | ==== Chargement |
- | Sous windows remplacer ~/ par le lecteur C: suivi de l' | + | |
- | | + | 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:// |
- | */ | + | * TME5, 6 et 7 : [[http:// |
+ | * TME4 : [[http:// | ||
- | Puis compléter le champ Username pour indiquer que la base Mondial a été créée par l’utilisateur nommé etu : | + | Cliquer sur **Exécuter** |
- | | + | |
- | | + | |
+ | ==== Poser des requêtes SQL ==== | ||
- | ===Utilisation de SQLWorkbench=== | + | Cliquer sur **Effacer** |
- | Commencer par ouvrir l’onglet Database Explorer dans le menu Tools -> Show Database Explorer. Database Explorer permet de consulter les tables existantes et leur schéma. Il permet aussi d’afficher le contenu des tables. | + | |
- | {{: | + | |
- | Ouvrir un onglet avec les exemples de requêtes | + | Par exemple |
+ | <code sql> | ||
+ | | ||
+ | </ | ||
- | File -> Open et sélectionner le fichier tpmondial-exemple-requete.sql dans votre dossier de travail. Cela permet de saisir des instructions SQL et de les envoyer au SGBD. La fenêtre est divisée en 2 parties : la partie supérieure sert à éditer les instructions SQL, la partie inférieure affiche le résultat des instructions. Pendant le TP, on interagit avec le SGBD uniquement au moyen d’instructions SQL, l’objectif est de progresser en SQL, pas de maîtriser toutes les fonctionnalités de l’outil SQLWorkbench. | ||
- | Penser à bien séparer chaque instruction SQL par un point-virgule. Il y a deux possibilités | + | ==== Différences entre Oracle et H2 ==== |
- | * Sélectionner | + | H2 et Oracle n'ont pas le même format |
- | * Placer le curseur au début d’une ligne et faire Ctrl-Entrée. Cela envoie au SGBD __toute la partie de texte__ depuis le précédent point-virgule jusqu’au point virgule suivant. | + | |
- | Possibilité d’ouvrir plusieurs onglets | + | ^ ^ Oracle ^ H2 ^ |
+ | | Dates | '' | ||
+ | Par exemple : | ||
+ | * Oracle : '' | ||
+ | * H2 : '' | ||
+ | ==== Divers ==== | ||
- | + | Le site du SGBD [[http://www.h2database.com/| H2]] est [[http:// | |
- | + | ||
- | + | ||
- | =====Questions diverses sur H2===== | + | |
- | + | ||
- | ===Puis-je modifier le contenu de la base ?=== | + | |
- | Oui, avec les instructions SQL insert, update et delete. | + | |
- | Faire un | + | |
- | | + | |
- | à 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:// | + | |
- | + | ||
- | + | ||
- | ===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 | + | |
- | + | ||
- | ===Consulter le schéma d’une base=== | + | |
- | Les instructions SQL pour consulter le schéma d’une base sans utiliser Database Explorer : | + | |
- | + | ||
- | show tables; | + | |
- | show columns from matable; | + | |
- | + | ||
- | ===Peut-on créer, avec H2, une nouvelle base autre qu'une base existante ?=== | + | |
- | 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 : | + | |
- | <code bash> | + | |
- | wget use_proxy=on -e https_proxy=proxy: | + | |
- | </ | + | |
- | /* | + | |
- | Eventuellement, | + | |
- | + | ||
- | */ | + | |
site/enseignement/documentation/h2.1636998106.txt.gz · Dernière modification : de amann