Accès au SGBD Oracle
Cette page explique comment se connecter à Oracle depuis les postes étudiants des salles de TME du bâtiment 31 (documentation sur Oracle : voir ci-dessous en bas de page).
1) Configurer l'environnement du poste client
- Lors du premier TME, configurer votre environnement Linux par défaut en complétant, si nécessaire, vos deux fichiers /.bash_profile et /.bashrc
- cd echo source /Infos/bd/config10 >> .bash_profile echo source /Infos/bd/config10 >> .bashrc
Vérification : les fichiers .bash_profile et .bashrc doivent se terminer par la ligne :
- source /Infos/bd/config10
- Fermer ensuite la session Linux puis se reloguer afin d'appliquer la modification du .bash_profile
- Vérification : la commande which sqlplus doit répondre : /Infos/bd/client10/sqlplus
En cas de problème, vérifier que les commandes contenues dans votre fichier .bashrc
par exemple si votre .bachrc contient
- export PATH=chemin
alors il faut remplacer cette instruction par :
- export PATH=$PATH:chemin
Autre possibilité pour résoudre un problème de connexion, nettoyez votre compte puis recommencer :
- cd (pour aller dans votre répertoire HOME personnel)
- mkdir my-old-env (pour créer un répertoire servant de corbeille)
* mv .* my-old-env/ (pour mettre dans la corbeille tous vos anciens fichiers de config génant)
2) Accès intéractif textuel au SGBD avec sqlplus
L'outil sqlplus est un client textuel interactif d'accès au SGBD. Utiliser un éditeur de texte emacs (ou autre) pour éditer les requêtes et les exécuter avec le client sqlplus intégré dans l'éditeur de texte.
2.1) Dans l'éditeur de texte, ouvrir un nouveau document nommé requete.sql
emacs requete.sql &
Rmq: Par défaut, emacs active le mode (SQL) pour les fichiers dont le suffixe est sql. Si ce n'est pas le cas, activer le mode SQL avec la commande
Alt-x sql-mode
- Puis saisir dans le fichier la requête suivante
- select * from joueur ; Entrée (ajouter une ligne vide)
Ne pas oublier le point-virgule en fin de requête. Sauvegarder le fichier.
- 2.2) Pour lancer le client sqlplus, exécuter dans emacs la commande suivante
- Alt-x sql-oracle
- puis saisir les informations demandées
- user : lettre E suivie de votre login numérique à 7 chiffres (ex: E1234567) password: identique à votre login (attention : ce n'est PAS votre mot de passe linux) database: oracle
Vous obtenez une deuxième fenêtre nommée SQL (contenant une invite SQL>) permettant de visualiser le résultat de vos commandes. Ne pas saisir les commandes SQL dans cette fenêtre SQL mais revenir dans la première fenêtre (requete.sql).
- Activer la fenêtre interactive
- Menu SQL > Set SQLi buffer puis Entrée
2.3) Pour exécuter une requête : dans la fenêtre requete.sql : griser la requête (avec la souris)
Puis choisir le menu SQL > send region. Le résultat apparait dans la deuxième fenêtre SQL
^Commande | ^Emacs |
Changer de fenêtre | Alt-Fin ou Ctrl-x o |
Exécuter une requête | Menu SQL > send region |
Sauvegarder tous les fichiers | Ctrl-x s |
Requête avec couleur | Menu SQL > highlighting> oracle keywords |
Fractionner la fenêtre en deux | Ctrl-x 2 |
2.3) Il est également possible d'utiliser le client sqlplus directement depuis une fenêtre de terminal, mais l'édition de commandes SQL est moins conviviale.
sqlplus utilisateur/mot_de_passe@oracle
- Votre nom d'utilisateur et votre mot de passe sont votre nom de login, exemple pour l'étudiant dont le login est 1234567
- sqlplus E1234567/E1234567@oracle
Autre possibilité : le raccourci sqlplus_direct (sans paramètre) permet de se connecter directement à Oracle
3) Accès au SGBD depuis Java
Le client java permet d'exécuter des requêtes SQL mais pas des commandes SQL*PLUS telles que desc ou set. Les paramètres de la connexion JDBC sont :
- la classe du pilote est oracle.jdbc.driver.!OracleDriver?
- l'URL est jdbc:oracle:thin:@machine:port:base (exemple "jdbc:oracle:thin:@oracle.ufr-info-p6.jussieu.fr:1521:ora10")
Exemple:
- télécharger le programme Acces.java
pour tenir compte des caractères accentués, saisir la commande :
- export LC_CTYPE=fr_FR
- compiler le fichier : javac Acces.java
- exécuter la classe: java Acces
4) Lire la documentation
Lire en particulier les manuels suivants :
- doc SQL (requêtes, tables, contraintes, ...) et PL/SQL (procédure, trigger, ...)
- doc sur sqlplus (l'outil client)
- les vues du catalogue (les métadonnées)
Pour plus d'infos, voir la page DocumentationOracle
Lire aussi une FAQ sur SQL et PL/SQL : QuestionSurSql (aide pour les TME)
Aller vers Oracle, DocumentationOracle et QuestionSurSql
Retour vers LesTme, Accueil