la page du cours


Accès à une base de données en mode programme : introduction

Les transparents du TD : cliquer ici

Attention : il faut une nouvelle version du fichier oraenv

Exemple de programme JDBC pour le TD

Une fonction Java pour lire au clavier

On considère votre table de billets avec client et destination (par exemple celle de la feuille "Premiers pas").

  1. Remplacez dans le programme exemple 'waller' par vos propres login et password. Que se passe-t-il sinon ?

  2. Ecrivez la méthode effectuant l'insertion d'un n-uplet constant (par exemple ('Jules', 'Saint Lucien')). Vérifiez depuis un client interactif.

  3. Même question, mais avec des valeurs demandées à l'utilisateur.

  4. Même question pour une interrogation elle aussi paramétrée.
  5. Gestion minimale des erreurs Oracle.

Approfondissement

  • Reprenez la fonction de connexion pour qu'elle soit utilisable par n'importe quel utilisateur Oracle.

  • Mode programme : construction dynamique d'ordres SQL Nous avons vu ci-dessus comment écrire des programmes Java effectuant sur une base les ordres SQL suivants : mises à jour du schéma ou de l'instance, requêtes, ces deux derniers cas pouvant être paramétrés ou non par des valeurs dans les conditions de sélection, les insertions ou la clause d'affectation des modifications (update). Assurez-vous que vous avez bien traité tous ces cas avant de passer aux manipulations ci-dessous, et par exemple regroupez-les dans un unique programme dans lequel un menu donne le choix parmi tous ces ordres, chacun codé dans une fonction. Vérifiez à chaque fois immédiatement en gardant une session SQL*Plus ouverte en permanence.

    Dans cette partie, nous allons simplement généraliser les manipulations ci-dessus en construisant nos ordres SQL au cours de l'exécution du programme, par concaténation de chaînes de caractères.

    1. Ecrire une fonction, à insérer dans votre menu ci-dessus, qui effectue une modification update t set a = 1, où les noms de la table et de la colonne sont à saisir à runtime (dans cet exercice on ne considérera pas de condition de sélection ni de paramètre).
    2. Ecrire une fonction qui effectue une sélection dans votre table Voyage, avec une clause where saisie dynamiquement. On supposera que cette condition contient exactement deux paramètres : un entier et une chaîne.
    3. Nous ne le ferons pas en TD (pour cause de priorités), mais dans le cas général de construction dynamique pour les ordres de manipulation de l'instance, on saisit : nom de table, colonnes en nombre quelconque, condition de sélection et clause d'affectation avec un nombre quelconque de paramètres.
  • Appel de procedure PL/SQL.