JDBC (Java DataBase Connectivity)

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "JDBC (Java DataBase Connectivity)"

Transcription

1 JDBC (Java DataBase Connectivity) M. Belguidoum Université Mentouri de Constantine Département Informatique M. Belguidoum (UMC) Programmation réseau 1 / 52

2 Plan 1 Introduction 2 Le paquetage java.sql 3 Mise en uvre de JDBC 4 Equivalence des types java-sql 5 Fonctionnalités supplémentaires de JDBC M. Belguidoum (UMC) Programmation réseau 2 / 52

3 Introduction Objectifs de JDBC Permettre aux programmeurs Java d'écrire un code indépendant de la base de données et du moyen de connexion utilisé API JDBC (Java DataBase Connectivity) 3.0 interface uniforme permettant un accès homogène aux SGBD simple à mettre en uvre indépendant du SGBD support supportant les fonctionnalités de base du langage SQL M. Belguidoum (UMC) Programmation réseau 3 / 52

4 Introduction JDBC : introduction JDBC (Java Data Base Connectivity) est une API permettant l'accès à des bases de données relationnelles à partir du langage Java l'accès aux bases de données est réalisé en trois étapes : la création d'une connexion à la base. l'envoi d'instructions SQL. l'exploitation des résultats provenant de la base. JDBC est représentée par le paquetage java.sql (depuis la version 1.1 du JDK) M. Belguidoum (UMC) Programmation réseau 4 / 52

5 Introduction JDBC : les drivers chaque SGBD utilise un pilote (driver) qui lui est propre et qui permet de convertir les requêtes JDBC dans le langage natif du SGBD le driver est un ensemble de classes qui implantent les interfaces de JDBC les drivers dont le lien entre le programme Java et le SGBD ces drivers dits JDBC existent pour tous les principaux SGBD : Oracle, Sybase, Informix, DB2, MySQL,... M. Belguidoum (UMC) Programmation réseau 5 / 52

6 Introduction JDBC : introduction Les pilotes JDBC sont classés en quatre catégories : les pilotes de pont JDBC/ODBC : ce type de pilote, fourni avec le J2SE (Java 2 Standard Edition), permet de convertir les appels JDBC en appels ODBC (Open Database Connectivity). ODBC est fourni en standard sur les plates-formes Windows et permet la connexion à des bases de natures diverses (Access, SQL Server, Oracle,...). les pilotes de type 2 : ils sont écrits, en partie, en Java, mais dépendent malgré tout de code natif. En termes de portage d'application Java, ces types de pilotes présentent quelques lacunes. les pilotes de type 3 : ce type de pilote passe par un autre pilote JDBC intermédiaire (fréquemment de type 1 ou 2). Il s'agit certainement du type de pilote le moins utile des quatre proposés. les pilotes de type 4 : leur code est écrit en Java, donc portable. Ces pilotes sont fournis par presque tous les constructeurs de bases de données. Chaque pilote étant adapté à une base de données particulière. Ces drivers constituent la meilleure solution pour le portage des applications Java. M. Belguidoum (UMC) Programmation réseau 6 / 52

7 Introduction JDBC : pilote de type 1 Pont JDBC-ODBC (Open Data Base Connectivity) M. Belguidoum (UMC) Programmation réseau 7 / 52

8 Introduction JDBC : pilote de type 2 API native M. Belguidoum (UMC) Programmation réseau 8 / 52

9 Introduction JDBC : pilote de type 3 M. Belguidoum (UMC) Programmation réseau 9 / 52

10 Introduction JDBC : pilote de type 4 Thin (protocole natif) M. Belguidoum (UMC) Programmation réseau 10 / 52

11 Introduction Les driver JDBC Liste des drivers disponibles à : sélection d'un driver choix entre vitesse, abilité et portabilité. Programme "standalone", avec une interface graphique qui s'exécute toujours sur un système Windows peut tirer bénéce de performances d'un driver type 2 (driver code-natif). Une applet peut nécessiter un driver de type 3 (pour passer un rewall). Une servlet déployée sur de multiples plateformes peut nécessiter la souplesse oerte par des drivers de type M. Belguidoum (UMC) Programmation réseau 11 / 52

12 Le paquetage java.sql JDBC : le paquetage java.sql M. Belguidoum (UMC) Programmation réseau 12 / 52

13 Le paquetage java.sql JDBC : les interfaces Driver : renvoie une instance de Connection Connection : connexion à une base Statement : instruction SQL PreparedStatement : instruction SQL paramétrée CallableStatement : procédure stockée dans la base ResultSet : n-uplets récupérés par une instruction SQL ResultSetMetaData : description des n-uplets récupérés DatabaseMetaData : informations sur la base de données M. Belguidoum (UMC) Programmation réseau 13 / 52

14 Le paquetage java.sql JDBC : les classes DriverManager : gère les drivers, lance les connexions aux bases Date : date SQL Time : heures, minutes, secondes SQL TimeStamp : comme Time, avec une précision à la microseconde Types : constantes pour désigner les types SQL (conversions) M. Belguidoum (UMC) Programmation réseau 14 / 52

15 Le paquetage java.sql JDBC : les Exceptions SQLException : est levée dès qu'une connexion ou un ordre SQL ne se déroule pas correctement méthode getmessage() : pour obtenir le message en clair de l'erreur renvoie également des informations spéciques au SGBD :SQLState et le code d'erreur SGBD SQLWarning : avertissements SQL DataTruncation : lorsqu'une valeur est tronquée lors d'une conversion SGBD -Java M. Belguidoum (UMC) Programmation réseau 15 / 52

16 Le paquetage java.sql JDBC : DriverManager M. Belguidoum (UMC) Programmation réseau 16 / 52

17 Mise en uvre de JDBC Mise en uvre de JDBC 1 Importer le package java.sql 2 Enregistrer le driver JDBC 3 Etablir la connexion au SGBD 4 Créer une requête (ou instruction SQL) 5 Exécuter la requête 6 Traiter les données retournées 7 Fermer la connexion M. Belguidoum (UMC) Programmation réseau 17 / 52

18 Mise en uvre de JDBC Interface Driver La méthode connect() de Driver nécessite un URL vers la base renvoie une instance de l'interface Connection (null si le driver ne convient pas) L'instance de Connection obtenue permet de lancer des requêtes URL pour accéder à la base (syntaxe dépend du SGBD cible) jdbc:<sous-protocole>:<nom-bd>?param=valeur,... sous-protocole : mysql nom-bd : //foo.loria.fr:1114:mabase exemples String url = "jdbc:odbc:mabase" String url = "jdbc:mysql:// :3306/mabase" String url = String url = "jdbc:mysql://foo.loria.fr:1114:mabase" M. Belguidoum (UMC) Programmation réseau 18 / 52

19 Mise en uvre de JDBC Étape 1 : enregistrer le driver Rôle de la classe DriverManager : elle gère les diérents drivers (instances de Driver) Pour qu'un driver soit disponible, il faut charger sa classe en mémoire Utiliser la méthode forname de la classe Class avec en paramètre le nom complet de la classe du driver : Class.forName("driverName") crée une instance de la classe enregistre cette instance auprès de la classe DriverManager Class. forname (" oracle. jdbc. driver. OracleDriver "); // pilote Oracle Class. forname (" sun. jdbc. odbc. JdbcOdbcDriver "); // pilote ODBC Class. forname (" com. mysql. jdbc. Driver "); // pilote MySQL Certains compilateurs refusent cette notation et demandent plutôt : Class. forname (" drivername "). newinstance (); M. Belguidoum (UMC) Programmation réseau 19 / 52

20 Mise en uvre de JDBC Étape 2 : connexion à la base On utilise la méthode getconnection() de DriverManager avec trois arguments : l'url (Uniform Ressource Locator) de la base de données de la forme : jdbc:typedriver:base le nom de l'utilisateur de la base : user son mot de passe : password Connection connexion = DriverManager. getconnection ( url, user, passw le DriverManager essaie tous les drivers enregistrés (chargés en mémoire avec Class.forName()) jusqu'à ce qu'il trouve un driver qui lui fournisse une connexion M. Belguidoum (UMC) Programmation réseau 20 / 52

21 Mise en uvre de JDBC Etape 3 : Créer/exécuter une requête Une fois une Connection créée on peut l'utiliser pour créer et exécuter des requêtes (statements) SQL. 3 types (interfaces) d'objets statement : Statement : requêtes simples (SQL statique) PreparedStatement : requêtes précompilées (SQL dynamique si supporté par SGBD) qui peuvent améliorer les performances CallableStatement : encapsule procédures SQL stockées dans le SGBD 3 méthodes d'exécutions : executequery : pour les requêtes qui retournent un résultat (SELECT) résultat accessible au travers d'un objet ResultSet executeupdate : pour les requêtes qui ne retournent pas de résultat (INSERT, UPDATE, DELETE, CREATE TABLE et DROP TABLE) execute : quand on ne sait pas si la requête retourne ou non un résultat, procédures stockées M. Belguidoum (UMC) Programmation réseau 21 / 52

22 Mise en uvre de JDBC Etape 3 : Créer/exécuter une requête Création d'un statement : Statement state = connexion. createstatement (); Exécution de la requête : String myquery = " SELECT prenom, nom, " + " FROM employe " + " WHERE ( nom =' Dupont ') AND ( IS NOT NULL ) " + " ORDER BY nom "; ResultSet resultat = state. executequery ( myquery ); executequery(string q) renvoie un objet de type ResultSet décrivant la table des résultats M. Belguidoum (UMC) Programmation réseau 22 / 52

23 Mise en uvre de JDBC Etape 4 : traiter les données retournées executequery() : renvoie une instance de ResultSet qui permet d'accéder aux champs des n-uplets sélectionnés seules les données demandées sont transférées en mémoire par le driver JDBC il faut donc les lire "manuellement" et les stocker dans des variables pour un usage ultérieur Les rangées du ResultSet se parcourent itérativement ligne (row) par ligne boolean next() : permet d'avancer à la ligne suivante, retourne false si pas de ligne suivante Placé avant la première ligne à la création du ResultSet Les colonnes sont référencées par leur numéro ou par leur nom L'accès aux valeurs des colonnes se fait par des méthodes (String nomcol) ou getxxx(int numcol) où XXX dépend du type de la colonne dans la table SQL Pour les très gros row, on peut utiliser des streams. M. Belguidoum (UMC) Programmation réseau 23 / 52

24 Mise en uvre de JDBC Etape 4 : Exemple de lecture des résultats java. sql. Statement stmt = conn. createstatement (); ResultSet rs = stmt. executequery (" SELECT a, b, c FROM Table1 "); while (rs. next ()) { int i = rs. getint (" a"); // rs. getint (1); en SQL les numéros de // débutent à 1 String s = rs. getstring (" b"); // rs. getstring (2); byte b[] = rs. getbytes (" c"); // rs. getbytes (3); System. out. println (" ROW = " + i + " " + s + " " + b [0]); } M. Belguidoum (UMC) Programmation réseau 24 / 52

25 Mise en uvre de JDBC ResultSet exécuter next() au moins une fois pour avoir le premier Impossible de revenir au n-uplet précédent ou de parcourir l'ensemble dans un ordre non séquentiel On peut parcourir le ResultSet d'avant en arrière : next() vs. previous() en déplacement absolu (aller à la n-ième ligne) : absolute(int row), first(), last(),... en déplacement relatif (aller à la n-ième ligne à partir de la position courante du curseur) : relative(int row), afterlast(), beforefirst(),... M. Belguidoum (UMC) Programmation réseau 25 / 52

26 Mise en uvre de JDBC ResultSet Méthodes de parcours first() : Positionne sur la première ligne (1er enregistrement) last() : Positionne sur la dernière ligne (dernier enregistrement) next() : Passe à la ligne suivante previous() : Passe à la ligne précédante beforefirst() : Positionne avant la première ligne afterlast() : Positionne après la dernière ligne absolute(int) : Positionne à une ligne donnée relative(int) : Déplacement d'un nombre de lignes donné par rapport à ligne courante Méthodes de test de la position du curseur boolean isfirst() : True si curseur positionné sur la première ligne boolean isbeforefirst() : True si curseur positionné avant la première ligne boolean islast() : True si curseur positionné sur la dernière ligne boolean isafterlast() : True si curseur positionné après la dernière ligne M. Belguidoum (UMC) Programmation réseau 26 / 52

27 Mise en uvre de JDBC Étapes 5 : fermer les connexions Pour terminer proprement un traitement, il faut fermer les diérents espaces ouverts. Le ramasse-miettes peut le faire mais de façon moins ecace Chaque objet possède une méthode close() : resultset. close (); statement. close (); connection. close (); M. Belguidoum (UMC) Programmation réseau 27 / 52

28 Equivalence des types java-sql Equivalence des types java-sql M. Belguidoum (UMC) Programmation réseau 28 / 52

29 Equivalence des types java-sql Exemple complet import java. sql.*; public class PrintAllEmployees { public static void main ( String [] args ) throws SQLException, ClassNotFoundException { String dburl = " jdbc : mysql :// localhost :3306/ yaps "; String user = " root ", password = ""; // Chargement dynamique du driver Class. forname (" com. mysql. jdbc. Driver "); Connection conn ; // Etablissement de la connexion conn = DriverManager. getconnection ( dburl, user, password ); Statement st = conn. createstatement (); // Création d' un statement String ansqlquery = " SELECT prenom, nom, age FROM employe "; // Exécution de la requête ResultSet r = st. executequery ( ansqlquery ); // Parcours du résultat while (r. next ()) { String nom = r. getstring (" nom "); int age = r. getint (" age "); System. out. println ( nom + ", " + age + " ans "); } r. close (); st. close (); conn. close (); } } M. Belguidoum (UMC) Programmation réseau 29 / 52

30 Equivalence des types java-sql Invocation d'une requête SQL de sélection String ansqlquery = " SELECT prenom, nom, age FROM employe "; // Création d' un statement Statement st = conn. createstatement (); // Exécution de la requête ResultSet r = st. executequery ( ansqlquery ); M. Belguidoum (UMC) Programmation réseau 30 / 52

31 Equivalence des types java-sql Parcours du résultat : ResultSet String query = " SELECT nom, age... "; ResutSet r = st. executequery ( query ); while (r. next ()) { String nom = r. getstring (" nom "); int age = r. getint (2); //... } M. Belguidoum (UMC) Programmation réseau 31 / 52

32 Equivalence des types java-sql Invocation d'une requête SQL de mise à jour Dans le cas d'une modication de donnée (INSERT, UPDATE, DELETE), on utilise la méthode executeupdate(...) qui renvoie un entier spéciant le nombre d'enregistrements modiés String reqsql = " DELETE FROM... "; int n = st. executeupdate ( reqsql ) M. Belguidoum (UMC) Programmation réseau 32 / 52

33 Fonctionnalités supplémentaires de JDBC Avec JDBC, on peut aussi... Exécuter des requêtes SQL pré-compilées : java.sql.preparedstatement Exécuter des procédures stockées : java.sql.callablestatement Utiliser des transactions Accéder aux méta-données (schéma) de la base : java.sql.databasemetadata Manipuler des BLOBs M. Belguidoum (UMC) Programmation réseau 33 / 52

34 Fonctionnalités supplémentaires de JDBC Requêtes pré-compilées La plupart des SGBD ore la possibilité de n'analyser qu'une seule fois une requête JDBC permet de bénécier de cette fonctionnalité L'objet PreparedStatement envoie une requête sans paramètres à la base de données pour précompilation et spéciera le moment voulu la valeur des paramètres plus rapide qu'un Statement classique le SGBD n'analyse qu'une seule fois la requête (recherche d'une stratégie d'exécution adéquate) pour de nombreuses exécutions d'une même requête SQL avec des paramètres variables tous les SGBD n'acceptent pas les requêtes précompilées M. Belguidoum (UMC) Programmation réseau 34 / 52

35 Fonctionnalités supplémentaires de JDBC Création d'une requête pré-compilée La méthode preparestatement() de l'objet Connection crée un PreparedStatement : PreparedStatement ps = c. preparestatement (" SELECT * FROM Clients " + " WHERE name =? "); les paramètres sont spéciés par un "?" ils sont ensuite instanciés par les méthodes setint(), setstring(), setdate(),... ces méthodes nécessitent 2 arguments (setint(n, valeur)) le premier (int) indique le numéro relatif de l'argument dans la requête le second indique la valeur à positionner setnull(n,type) positionne le paramètre à NULL (SQL) M. Belguidoum (UMC) Programmation réseau 35 / 52

36 Fonctionnalités supplémentaires de JDBC Exécution d'une requête pré-compilée PreparedStatement ps = c. preparestatement (" UPDATE emp SET sal =? " + " WHERE name =?"); for ( int i = 0; i < 10; i ++) { ps. setfloat (1, salary [i ]); ps. setstring (2, name [i ]); int count = ps. executeupdate (); } M. Belguidoum (UMC) Programmation réseau 36 / 52

37 Fonctionnalités supplémentaires de JDBC Avantages des PreparedStatement Traitement plus rapide si utilisés plusieurs fois avec plusieurs paramètres Amélioration de la portabilité car les méthodes setxxx() n'ont pas à tenir compte des diérences entre SGBD Exemple : les SGBD n'utilisent pas tous les mêmes formats de date ('JJ/MM/ AA' ou 'AAAA-MM-JJ') ou de chaînes de caractères (pour les caractères d'échappement) M. Belguidoum (UMC) Programmation réseau 37 / 52

38 Fonctionnalités supplémentaires de JDBC Les procédures stockées procédures permettant de fournir la même fonctionnalité à plusieurs utilisateurs procédure stockée dans la base côté serveur JDBC ore une interface dédiée CallableStatement dérive de l'interface PreparedStatement gère le retour de valeur avec ResultSet Comment création d'un objet CallableStatement en utlisant Connection.prepareCall(...) M. Belguidoum (UMC) Programmation réseau 38 / 52

39 Fonctionnalités supplémentaires de JDBC Appel des procédures stockées La requête doit être formatée encadrée par des accolades {...} utilisation du préxe call Trois modes pour l'appel la procédure renvoie une valeur : {? = call nomprocédure(?,?,...)} la procédure ne renvoie aucune valeur : { call nomprocédure(?,?,...)} si on ne lui passe aucun paramètre : { call nomprocédure } Passage de paramètres possible : comme pour PreparedStatement M. Belguidoum (UMC) Programmation réseau 39 / 52

40 Fonctionnalités supplémentaires de JDBC Example CallableStatement sans valeur de retour CallableStatement testcall ; testcall = conn. preparecall ( "{ call setsalary (?,?) }"); testcall. setstring (1, " EUR "); testcall. setlong (2, 2000); testcall. execute (); M. Belguidoum (UMC) Programmation réseau 40 / 52

41 Fonctionnalités supplémentaires de JDBC Accéder aux résultats Un PreparedStatement peut retourner des données grâce à un ResultSet Les procédures stockées étendent le modèle appel de la procédure précédé du passage des paramètres in et out grâce aux méthodes setxxx() type des paramètres out et in/out grâce à la méthode registeroutparameter() exécution de la requête grâce à executequery(), executeupdate() ou execute() récupération des paramètres out et in/out grâce aux méthodes getxxx() M. Belguidoum (UMC) Programmation réseau 41 / 52

42 Fonctionnalités supplémentaires de JDBC Exemple d'une procédure stockée create or replace procedure augmentation ( undept in integer, pourcentage in number, cout out number ) is begin update emp set sal = sal * (1 + pourcentage / 100) where dept = undept ; select sum ( sal ) * pourcentage / 100 into cout from emp where dept = undept ; end ; M. Belguidoum (UMC) Programmation réseau 42 / 52

43 Fonctionnalités supplémentaires de JDBC Exemple suite CallableStatement CallableStatement csmt = conn. preparecall ( "{ call augmentation (?,?,?) }"); // 2 chiffres après la virgule pour 3 ème paramètre csmt. registeroutparameter (3, Types. DECIMAL, 2); // Augmentation de 2,5 % des salaires du dept 10 csmt. setint (1, 10); csmt. setdouble (2, 2.5); csmt. executequery (); double cout = csmt. getdouble (3); System. out. println (" Cout total augmentation : " + cout ); M. Belguidoum (UMC) Programmation réseau 43 / 52

44 Fonctionnalités supplémentaires de JDBC Transactions 3 services déclarés dans l'interface Connection : setautocommit(boolean b) commit() : valide une transaction rollback() : annulle une transaction Les nouvelles connexions sont initialement en mode auto-commit => commit implicite après chaque requête SQL Pour dénir une transaction composée de plusieurs requêtes SQL, il faut désactiver l'auto-commit : conn.setautocommit(false) Un appel à commit() ou rollback() va alors créer implicitement une nouvelle transaction M. Belguidoum (UMC) Programmation réseau 44 / 52

45 Fonctionnalités supplémentaires de JDBC Transactions : Exemple // Désactiver l' auto - commit conn. setautocommit ( false ); try { // les requêtes SQL suivantes constituent // une seule transaction st. executeupdate (" INSERT... "); st. executeupdate (" DELETE... "); st. executeupdate (" UPDATE... "); // valider la transaction conn. commit (); st. close (); } catch ( java. sql. SQLException e) { conn. rollback (); } M. Belguidoum (UMC) Programmation réseau 45 / 52

46 Fonctionnalités supplémentaires de JDBC Accès aux méta-données JDBC permet de récupérer des informations sur le type de données que l'on vient de récupérer par un SELECT (interface ResultSetMetaData) et sur la base elle-même (interface DatabaseMetaData) Interface ResultSetMetaData méthode getmetadata() permet d'obtenir des informations sur les types de données du ResultSet elle renvoie des instances de ResultSetMetaData on peut connaître : le nombre de colonne : getcolumncount() le nom d'une colonne : getcolumnname(int col) le nom de la table : gettablename(int col) M. Belguidoum (UMC) Programmation réseau 46 / 52

47 Fonctionnalités supplémentaires de JDBC Exemple : ResultSetMetaData ResultSet rs = st. executequery ( " SELECT * FROM emp "); ResultSetMetaData rsmd = rs. getmetadata (); int nbcolonnes = rsmd. getcolumncount (); for ( int i = 1; i <= nbcolonnes ; i ++) { String typecolonne = rsmd. getcolumntypename ( i); String nomcolonne = rsmd. getcolumnname ( i); System. out. println (" Colonne " + i + " de nom " + nomcolonne + " de type " + typecolonne ); } M. Belguidoum (UMC) Programmation réseau 47 / 52

48 Fonctionnalités supplémentaires de JDBC Interface DatabaseMetaData informations sur la base de données méthode getmetadata() de l'objet Connection dépend du SGBD avec lequel on travaille elle renvoie des instances de DatabaseMetaData on peut connaître : les tables de la base : gettables() le nom de l'utilisateur : getusername()... M. Belguidoum (UMC) Programmation réseau 48 / 52

49 Fonctionnalités supplémentaires de JDBC CLOB et BLOB 2 types d'objets larges : CLOB : Character large object BLOB : Binary large Une colonne de type BLOB est en fait un pointeur vers un chier create table userimages ( user varchar (50), image BLOB ) String q = " insert into userimages values (' dewez ',?)"; Statement pstmt = con. preparestatement ( q); File file = new File (" dewez. jpg "); InputStream fin = new FileInputStream ( file ); pstmt. setbinarystream (1, fin, file. length ()); pstmt. executeupdate (); M. Belguidoum (UMC) Programmation réseau 49 / 52

50 Fonctionnalités supplémentaires de JDBC Lire un BLOB String q = " select image from userimages " ResultSet rs = stmt. executequery ( q); while (rs. next ) { Blob b = rs. getblob (" image "); InputStream stream = b. getbinarystream (); //... } M. Belguidoum (UMC) Programmation réseau 50 / 52

51 Fonctionnalités supplémentaires de JDBC Conclusion Interface pour un accès homogène le concept de Driver masque au maximum les diérences des SGBD API de bas niveau : il faut connaître SQL Tous les éditeurs proposent un driver JDBC Problèmes JDBC n'eectue aucun contrôle sur les instructions SQL Correspondance entre classes Java et relations est un travail de bas niveau M. Belguidoum (UMC) Programmation réseau 51 / 52

52 Fonctionnalités supplémentaires de JDBC Références The JDBC Tutorial : Chapter 3 - Advanced Tutorial, slides de Olivier Perrin et philippe Genoud Christian Soutou, "Apprendre SQL avec MySQL : Avec 40 exercices corrigés" M. Belguidoum (UMC) Programmation réseau 52 / 52

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours 6 : JDBC : ou comment lier ORACLE avec Java 1ère partie Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Introduction 2 les étapes de la connexion

Plus en détail

8. Java et les bases de données. Olivier Curé - UMLV [page 206 ]

8. Java et les bases de données. Olivier Curé - UMLV [page 206 ] 8. Java et les bases de données Olivier Curé - UMLV [page 206 ] Java et les BD Plusieurs manières d'écrire du code Java accédant à une BD: Statement Level Interface (SLI) Solutions : SQLJ (SQL92) Call

Plus en détail

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

2. L'envoi de requêtes SQL au SGBD, à partir du programme java: création de tables, sélection de données,

2. L'envoi de requêtes SQL au SGBD, à partir du programme java: création de tables, sélection de données, Introduction à JDBC Introduction JDBC, Java Data Base Connectivity est un ensemble de classes (API Application Programming Interface --JAVA) permettant de se connecter à une base de données relationnelle

Plus en détail

TP Programmation Java / JDBC / Oracle

TP Programmation Java / JDBC / Oracle TP Programmation Java / JDBC / Oracle 1. Connectivité avec une base de données Oracle au travers de l interface JDBC L interface de programmation (API) JDBC (Java DataBase Connectivity) est une librairie

Plus en détail

Connexion aux bases de données. Rappels API JDBC Pilotes JDBC Connexion ResultSet requêtes interprétées requêtes préparées

Connexion aux bases de données. Rappels API JDBC Pilotes JDBC Connexion ResultSet requêtes interprétées requêtes préparées JDBC 1 Connexion aux bases de données Rappels API JDBC Pilotes JDBC Connexion ResultSet requêtes interprétées requêtes préparées 2 Modélisation des données Création d'un schéma entités/associations Entités:

Plus en détail

Accès aux bases de données

Accès aux bases de données 13 Accès aux bases de données Les bases de données fournissent un mécanisme de stockage persistant pour les données d application et dans bien des cas, elles sont essentielles au fonctionnement des applications.

Plus en détail

Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives :

Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives : ntroduction 1/28 2/28 Anne-Cécile Caron Licence MAGE - Bases de Données 2013-2014 Application base de données Pour le développeur : Quel est l environnement? type de client (mode client serveur, intranet,...)

Plus en détail

Programmation d application Bases de données avec Java

Programmation d application Bases de données avec Java Plan du document Programmation d application Bases de données avec Java INT Problématique slide 3 Correspondance diagramme de classe slide 4 UML vers schéma relationnel Programmation BD avec JDBC slide

Plus en détail

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 58

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 58 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 58 Chapitre 11 Java Data Base Connectivity (JDBC) Amélie Lambert 2014-2015 2 / 58 Plan du cours Introduction aux base de données Introduction

Plus en détail

Interface SQL-Langages hôtes. Interface SQL-Langages hôtes. Java DataBases Connectivity JDBC Hala Skaf-Molli Skaf@loria.fr www.loria.

Interface SQL-Langages hôtes. Interface SQL-Langages hôtes. Java DataBases Connectivity JDBC Hala Skaf-Molli Skaf@loria.fr www.loria. Interface SQL-Langages hôtes Interface SQL-Langages hôtes Java DataBases Connectivity JDBC Hala Skaf-Molli Skaf@loria.fr www.loria.fr/~skaf Pourquoi? Comment? Interface SQL-Langages hôtes Pourquoi? SQL

Plus en détail

Architectures n-tiers et applications Web Outils Java et applications Web Servlets État d un servlet Les JSP Accès aux BD avec servlets Conception

Architectures n-tiers et applications Web Outils Java et applications Web Servlets État d un servlet Les JSP Accès aux BD avec servlets Conception Plan 231 Architectures n-tiers et applications Web Outils Java et applications Web Servlets État d un servlet Les JSP Accès aux BD avec servlets Conception JDBC - Rappels 232 JDBC: API qui permet de stocker,

Plus en détail

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. L3 Pro Informatique 2010-2011

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. L3 Pro Informatique 2010-2011 1 / 32 Développement Web - JDBC Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer L3 Pro Informatique 2010-2011 2 / 32 Plan Plan 1 Préambule 2 Utilisation de

Plus en détail

JDBC le langage Java XVI-1 JMF

JDBC le langage Java XVI-1 JMF JDBC Java Database Connectivity XVI-1 JDBC JDBC est une API Java (ensemble de classes et d'interfaces défini par SUN et les acteurs du domaine des BD) permettant d'accéder aux bases de données à l'aide

Plus en détail

JDBC JDBC. Java DataBase Connectivity

JDBC JDBC. Java DataBase Connectivity Java DataBase Connectivity Philippe GENOUD UJF Février 2004 1 Introduction Offre une API unique d accès à toute BD conforme au standard SQL-92 Objectifs : Fournir un accès homogène aux SGBD une application

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

Cours 3. Contenu du cours : " Accès à une base de données. " Exécution de requêtes et lectures de résultats. " Les méta-données

Cours 3. Contenu du cours :  Accès à une base de données.  Exécution de requêtes et lectures de résultats.  Les méta-données Cours 3 Contenu du cours : " Accès à une base de données " Exécution de requêtes et lectures de résultats " Les méta-données 2 L'API JDBC est utilisée pour intéragir avec une base de données. Privilèges

Plus en détail

Principes d'utilisation des systèmes de gestion de bases de données

Principes d'utilisation des systèmes de gestion de bases de données Principes d'utilisation des systèmes de gestion de bases de données JDBC L3 Informatique Emmanuel Waller, LRI, Orsay Université Paris Sud le mode programme JDBC JDBC : qu'est ce que c'est? Avantages? devant

Plus en détail

Java et les bases de données

Java et les bases de données Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples

Plus en détail

M2 BD IA BDED Semaine du 2/10 au 7/10/2006. TP 1 Transactions distribuées. 1 Rappels sur JDBC

M2 BD IA BDED Semaine du 2/10 au 7/10/2006. TP 1 Transactions distribuées. 1 Rappels sur JDBC M2 BD IA BDED Semaine du 2/10 au 7/10/2006 TP 1 Transactions distribuées Un compte rendu de ce TP est à rendre avant le 25/10/2006. 1 Rappels sur JDBC Une connexion JDBC met en œuvre les éléments suivants

Plus en détail

Si le médecin agit en situation d urgence, insérer une trace de ses requêtes. Si le patient est cardiaque, le préciser dans le motif de la visite

Si le médecin agit en situation d urgence, insérer une trace de ses requêtes. Si le patient est cardiaque, le préciser dans le motif de la visite Précompilateur Compilateur LP PROGRAMMATION SQL Limites de SQL Problématique de la connexion langage hôte/sql 3 approches Embedded SQL (PRO*C, SQLJ ) API de bas niveau (SQL-CLI, ODBC, ) Langage dédié (PL/SQL,

Plus en détail

JDBC. Java Database Connectivity (JDBC) JDBC JDBC. Java Database Connectivity (JDBC) Lionel Seinturier. Université Pierre & Marie Curie

JDBC. Java Database Connectivity (JDBC) JDBC JDBC. Java Database Connectivity (JDBC) Lionel Seinturier. Université Pierre & Marie Curie Java Database Connectivity () Lionel Seinturier Université Pierre & Marie Curie Lionel.Seinturier@lip6.fr 10/9/04 1 Lionel Seinturier Java Database Connectivity () Permet à un programme Java d'interagir

Plus en détail

Java Database Connectivity (JDBC) - Langage SQL

Java Database Connectivity (JDBC) - Langage SQL Java Database Connectivity (JDBC) - Langage SQL Chapitres traités Principe de base Ce chapitre traite essentiellement de la relation entre Java et les bases de données. Dans cette étude, je m'intéresse

Plus en détail

JDBC et objet-relationnel

JDBC et objet-relationnel Types de données de SQL3 JDBC et objet-relationnel Université de Nice - Sophia Antipolis Version 1.6.4 5/11/11 Richard Grin JDBC supporte les types suivants de SQL3 qui sont des ouvertures vers le relationnelobjet

Plus en détail

Modernisation et développement d applications IBM i Stratégies, technologies et outils. Volubis.fr

Modernisation et développement d applications IBM i Stratégies, technologies et outils. Volubis.fr Modernisation et développement d applications IBM i Stratégies, technologies et outils 5 et 6 Avril 2012 IBM Forum de Bois-Colombes Volubis.fr Conseil et formation sur OS/400, I5/OS puis IBM i depuis 1994!

Plus en détail

Auto-évaluation La programmation database en JDBC

Auto-évaluation La programmation database en JDBC Auto-évaluation La programmation database en JDBC Document: f1216test.fm 02/04/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION LA PROGRAMMATION

Plus en détail

PHP OO et Pear DB. Olivier Perrin IUT Nancy-Charlemagne Département Informatique Université Nancy 2. Olivier.Perrin@loria.fr

PHP OO et Pear DB. Olivier Perrin IUT Nancy-Charlemagne Département Informatique Université Nancy 2. Olivier.Perrin@loria.fr PHP OO et Pear DB Olivier Perrin IUT Nancy-Charlemagne Département Informatique Université Nancy 2 Olivier.Perrin@loria.fr Classes et objets en PHP Une classe PHP regroupe des variables d instance, représentés

Plus en détail

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection

Plus en détail

Cours Web n o 7 MySQL et PHP

Cours Web n o 7 MySQL et PHP Introduction aux bases de données Cours Web n o 7 MySQL et PHP Sandrine-Dominique Gouraud (gouraud@lri.fr) Pierre Senellart (pierre@senellart.com) Semaine du 7 novembre 2005 S.-D. Gouraud, P. Senellart

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

APPLICATIONS JAVA. JDBC (Java DataBase Connectivity) JSP SQL (rappel) Architecture Java-JDBC-SGBD. JDBC et JSP IvMad - 2012 2

APPLICATIONS JAVA. JDBC (Java DataBase Connectivity) JSP SQL (rappel) Architecture Java-JDBC-SGBD. JDBC et JSP IvMad - 2012 2 APPLICATIONS JAVA JDBC (Java DataBase Connectivity) JSP SQL (rappel) JDBC et JSP IvMad - 2012 2 Architecture Java-JDBC-SGBD JDBC et JSP IvMad - 2012 3 Architecture Java-JDBC-SGBD Les composants de la connexion

Plus en détail

1. Langage de programmation Java

1. Langage de programmation Java 1. Langage de programmation Java 1.1. Définitions Langage de 3e génération le plus utilisé actuellement Portabilité : exécutable sur tout types d'ordinateurs quel que soit le système d'exploitation (Windows,

Plus en détail

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

ADO.Net. ADO.Net. ADO.Net. ADO.Net. ActiveX Data Object.Net (ADO.Net) Lionel Seinturier

ADO.Net. ADO.Net. ADO.Net. ADO.Net. ActiveX Data Object.Net (ADO.Net) Lionel Seinturier Lionel Seinturier INRIA Futurs Lille Projet JACQUARD Université Pierre & Marie Curie Lionel.Seinturier@lifl.fr 30/8/04 ActiveX Data Object.Net () API d accès (local ou distant) à une source de données

Plus en détail

633-2.2 Dialogue avec la base de données

633-2.2 Dialogue avec la base de données 633-2.2 Dialogue avec la base de données 3. Manipulation des données avec un langage hôte Cedric.Baudet@he-arc.ch 1 Références Filière Bachelor of Science en informatique de gestion Domaine Technologies

Plus en détail

Web dynamique. Techniques, outils, applications. (Partie C)

Web dynamique. Techniques, outils, applications. (Partie C) Web dynamique Techniques, outils, applications (Partie C) Nadir Boussoukaia - 2006 1 SOMMAIRE 1. MySQL et PHP (20 min) 2. SQL (petits rappels) (20 min) 2 MySQL et PHP Synthèse 3 MySQL et PHP SGBD MySQL

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

La persistance des données avec SQLite. Jean-marc Farinone. JMF (Tous droits réservés) 1

La persistance des données avec SQLite. Jean-marc Farinone. JMF (Tous droits réservés) 1 La persistance des données avec SQLite Jean-marc Farinone JMF (Tous droits réservés) 1 Remarques sur SQLite La base de données FILENAME est stockée dans le smartphone sous /data/data/nom_package_appli/databases/filename

Plus en détail

Oracle : Langage PL/SQL

Oracle : Langage PL/SQL 1 Introduction à PL/SQL Oracle : Langage PL/SQL PL/SQL est un langage de programmation procédural et structuré. 1.1 Langage de programmation Il contient un ensemble d'instructions permettant de mettre

Plus en détail

Java EE Approfondi - Cours 2. Cours de 2 e année ingénieur Spécialisation «Génie Informatique»

Java EE Approfondi - Cours 2. Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Java EE Approfondi - Cours 2 Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Présentation Lier l'orienté objet et la base de données relationnelle peut être lourd et consommateur en temps.

Plus en détail

Tp2 Emacs Développement Web

Tp2 Emacs Développement Web Tp2 Emacs Développement Web Les indications ci-dessous donnent les grandes lignes du développement. 1/ Evenement Ajax Jquery: Le code javascript jquery suivant permet d afficher un message dans un span

Plus en détail

Jusqu à 14 h : Open Questions! On vous explique ce que vous n avez pas compris lors de la première formation.

Jusqu à 14 h : Open Questions! On vous explique ce que vous n avez pas compris lors de la première formation. Bienvenue! Jusqu à 14 h : Open Questions! On vous explique ce que vous n avez pas compris lors de la première formation. Téléchargez les logiciels nécessaires pour cette formation : http ://formation-web.via.ecp.fr

Plus en détail

PDO : PHP Data Object 1/13

PDO : PHP Data Object 1/13 PDO : PHP Data Object 1/13 Tous ne sont que des extensions... Les fonstions mysql_* : API mysql Les fonctions mysqli_* aussi Il en est de même pour PDO PDO (avec le pilote PDO MySQL Driver et Extension

Plus en détail

JSP JavaServer Pages

JSP JavaServer Pages JSP JavaServer Pages Duane Fields Éditions Eyrolles ISBN : 2-212-09228-8 2000 7 Intégration aux bases de données Dans ce chapitre : Lien entre l API JDBC et JSP Stockage et extraction des composants JSP

Plus en détail

Mysql. Les requêtes préparées Prepared statements

Mysql. Les requêtes préparées Prepared statements Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production

Plus en détail

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR PHP /MySQL Interface d'accès aux BDDs PDO Youssef CHAHIR 1 PLAN Architecture Interface phpmyadmin Créer une interface PHP/MySQL : Établir une connexion Exécuter une requête Gérer les erreurs Exploiter

Plus en détail

Bases de Données & Interfaces Web. stanislas.oger@univ-avignon.fr

Bases de Données & Interfaces Web. stanislas.oger@univ-avignon.fr Bases de Données & Interfaces Web stanislas.oger@univ-avignon.fr 1 Architecture d'un SI Web Fonctionnement Dynamique avec Base de Données 2 Idée Dynamiser les pages avec des infos venant de BDD Enregistrer

Plus en détail

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 ORACLE 10G DISTRIBUTION ET REPLICATION Distribution de données avec Oracle G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 1 Plan 12. Distribution de données 12.1 Génération des architectures C/S et Oracle

Plus en détail

Internet et applications dans l entreprise (3) Serveur Tomcat et pages JSP

Internet et applications dans l entreprise (3) Serveur Tomcat et pages JSP Licence professionnelle «Management des organisations» Option «Systèmes d information et Réseaux» Internet et applications dans l entreprise (3) Serveur Tomcat et pages JSP O. Auzende 2010-2011 Servlets

Plus en détail

Programmation concurrente en java

Programmation concurrente en java Programmation concurrente en java M. Belguidoum Université Mentouri de Constantine Département Informatique M. Belguidoum (UMC) Programmation concurrente 1 / 29 Plan 1 Introduction 2 Création d'un thread

Plus en détail

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

Plus en détail

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3

Plus en détail

Les entrées/sorties Java (sérialisation, accès aux chiers et connexion réseau)

Les entrées/sorties Java (sérialisation, accès aux chiers et connexion réseau) Année 2008-2009 Les entrées/sorties Java (sérialisation, accès aux chiers et connexion réseau) Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Introduction

Plus en détail

TP 3 : Base de données. Pascal GRAFFION 2014/04/11 09:29

TP 3 : Base de données. Pascal GRAFFION 2014/04/11 09:29 TP 3 : Base de données Pascal GRAFFION 2014/04/11 09:29 Table des matières TP 3 : Base de données... 3 Hello PetStore!... 3 Outils... 5 Expression des besoins... 5 Vue Utilisateur... 6 Diagramme de cas

Plus en détail

JDBC avancé. Plan de cette partie. Génération de clés. Génération automatique de clés et JDBC. Une situation courante. Récupération des clés générées

JDBC avancé. Plan de cette partie. Génération de clés. Génération automatique de clés et JDBC. Une situation courante. Récupération des clés générées Plan de cette partie JDBC avancé Université de Nice - Sophia Antipolis Version 1.15.6 11/10/11 Richard Grin Génération des clés ResultSet «avancé» RowSet Regrouper les modifications Types de données SQL

Plus en détail

Java - MySQL. Code: java-mysql

Java - MySQL. Code: java-mysql Java - MySQL java-mysql Java - MySQL Code: java-mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/java-mysql/java-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/java-mysql.pdf Auteurs

Plus en détail

XML et Bases de données. XMLType Oracle XML DB

XML et Bases de données. XMLType Oracle XML DB Oracle XML DB Oracle XML DB Depuis la version 9i et de façon enrichie dans la version 10g, Oracle propose des outils pour gérer des documents XML Depuis la 10g il n'y a plus d'extraction car auparavant

Plus en détail

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)

Plus en détail

Conception de bases de données relationnelles

Conception de bases de données relationnelles Conception de bases de données relationnelles Langage PL/(pg)SQL Marie Szafranski 2015-2016 ensiie 1 2015-2016 ensiie 1 Aperçu de PL/(pg)SQL Aperçu de PL/(pg)SQL PL/SQL : Procedural Language for SQL (Oracle)

Plus en détail

T.P. 3 Base de données, JDBC et Mapping Objet-relationnel

T.P. 3 Base de données, JDBC et Mapping Objet-relationnel EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 3 Base de données, JDBC et Mapping Objet-relationnel L'objectif de ce TP est de vous faire pratiquer l'api JDBC qui permet d'accéder à une base de données

Plus en détail

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR PHP /MySQL Interface d'accès aux BDDs PDO Youssef CHAHIR 1 PLAN Architecture Créer une interface PHP/MySQL : Établir une connexion Exécuter une requête Gérer les erreurs Exploiter les résultats de la requête

Plus en détail

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI JAVA, CORBA et RMI objectif : développer des applications client/serveur incluant des objets répartis Java / CORBA : client/serveur hétérogènes Java / RMI : client/serveur homogènes plan : l architecture

Plus en détail

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web PHP & Bases de données La quantité de données utilisée par certains sites web nécessite l'utilisation d'une base de données Il faut donc disposer d'un SGBD (mysql, postgresql, oracle, ) installé sur un

Plus en détail

FileMaker 11. Guide ODBC et JDBC

FileMaker 11. Guide ODBC et JDBC FileMaker 11 Guide ODBC et JDBC 2004-2010 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054, Etats-Unis FileMaker est une marque de FileMaker,

Plus en détail

Connectivité aux bases de données Java (JDBC)

Connectivité aux bases de données Java (JDBC) 18 Connectivité aux bases de données Java (JDBC) Objectifs Comprendre les bases de données relationnelles. Utiliser les classes et les interfaces du package java.sql pour interroger, insérer et mettre

Plus en détail

APPLICATIONS JAVA. JDBC (Java DataBase Connectivity) SQL (rappel) Architecture Java-JDBC-SGBD. Java DataBase Connectivity IvMad - 2012 2

APPLICATIONS JAVA. JDBC (Java DataBase Connectivity) SQL (rappel) Architecture Java-JDBC-SGBD. Java DataBase Connectivity IvMad - 2012 2 APPLICATIONS JAVA JDBC (Java DataBase Connectivity) SQL (rappel) Java DataBase Connectivity IvMad - 2012 2 Architecture Java-JDBC-SGBD Java DataBase Connectivity IvMad - 2012 3 Architecture Java-JDBC-SGBD

Plus en détail

PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214

PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 PHP Bertrand Estellon Aix-Marseille Université 26 avril 2012 Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 SQLite et PDO Base de données SQLite et PDO SQLite écrit les données relatives à la base dans

Plus en détail

Pooling de connexions. Olivier Curé - UMLV [page 1 ]

Pooling de connexions. Olivier Curé - UMLV [page 1 ] Pooling de connexions Olivier Curé - UMLV [page 1 ] Introduction Une connexion à une base de données est une ressource rare et coûteuse qui ne peut être partagée par des threads. Il faut donc réfléchir

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

UTILISER LE SERVEUR MYSQL...

UTILISER LE SERVEUR MYSQL... MySQL (pour Windows 9x) UTILISER LE SERVEUR MYSQL... 2 LANCER LE SERVEUR MYSQL... 2 ARRETER LE SERVEUR MYSQL... 3 TRAVAIL AVEC LA CONSOLE MYSQL... 3 CREATION / SUPPRESSION D'UN BASE... 3 UTILISER UN BASE...

Plus en détail

Notes de cours : bases de données distribuées et repliquées

Notes de cours : bases de données distribuées et repliquées Notes de cours : bases de données distribuées et repliquées Loïc Paulevé, Nassim Hadj-Rabia (2009), Pierre Levasseur (2008) Licence professionnelle SIL de Nantes, 2009, version 1 Ces notes ont été élaborées

Plus en détail

JAVA Première approche

JAVA Première approche Année 2008-2009 JAVA Première approche Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Qu'est ce que Java? C'est le nom d'une technologie mise au point

Plus en détail

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE Le responsable de la société Itaste utilise une application installée sur son poste : elle est programmée en VBA sous Microsoft Access et pourvue d une

Plus en détail

Servlets, beans, base de données

Servlets, beans, base de données Institut Galilée E-services Année 2014-2015 Master 2 T.P. 2 Servlets, beans, base de données L objectif de ce TP est de mettre en place un site web pour l administration et la commande de pizzas : une

Plus en détail

Introduction au langage SQL

Introduction au langage SQL Introduction au langage SQL 1. Description SQL est un acronyme pour Structured Query Language qui a été conçu par IBM, et a succédé au langage SEQUEL. C est maintenant le langage le plus utilisé dans les

Plus en détail

Considérons une partie d un modèle conceptuel de données avec les schémas d entités. Figure 1: Une partie du modèle conceptuel de données

Considérons une partie d un modèle conceptuel de données avec les schémas d entités. Figure 1: Une partie du modèle conceptuel de données Considérons une partie d un modèle conceptuel de données avec les schémas d entités suivants: EMP(EmpNo, Enom, Job, DirNo, Sal, Prime) DEPT(DeptNo, Dnom, Adr) Où EmpNo est la clé primaire de EMP et DeptNo

Plus en détail

ADO.NET est un ensemble de classes qui. aux données. Ces classes permettent donc. applications permettant de se connecter à des

ADO.NET est un ensemble de classes qui. aux données. Ces classes permettent donc. applications permettant de se connecter à des ADO.net pour Activex Data Objects Définitions: ADO.NET est un ensemble de classes qui exposent des services standardisés d'accès aux données. Ces classes permettent donc aux programmeurs de concevoir des

Plus en détail

Bases de données Page 1 de 11. Bases de données. Prof. : Dzenan Ridjanovic

Bases de données Page 1 de 11. Bases de données. Prof. : Dzenan Ridjanovic Bases de données Page 1 de 11 1- Objectifs généraux Bases de données Prof. : Dzenan Ridjanovic acquérir les principes et concepts fondamentaux dans le domaine des bases de données; développer les connaissances

Plus en détail

Module 19: Développement et déploiement des applications client/serveur TDI2 2012/2013 Formateur:M.AZZI

Module 19: Développement et déploiement des applications client/serveur TDI2 2012/2013 Formateur:M.AZZI Module 19: Développement et déploiement des applications client/serveur TDI2 2012/2013 Formateur:M.AZZI Intégrer les accès aux données dans le client en mode connecté. ADO.NET ADO.NET est constitué d un

Plus en détail

Introduction aux bases de données relationnelles

Introduction aux bases de données relationnelles Formation «Gestion des données scientifiques : stockage et consultation en utilisant des ases de données» 24 au 27 /06/08 Introduction aux ases de données relationnelles Christine Tranchant-Dureuil UMR

Plus en détail

TP Contraintes - Triggers

TP Contraintes - Triggers TP Contraintes - Triggers 1. Préambule Oracle est accessible sur le serveur Venus et vous êtes autorisés à accéder à une instance licence. Vous utiliserez l interface d accés SQL*Plus qui permet l exécution

Plus en détail

SQL et Bases de données relationnelles. November 26, 2013

SQL et Bases de données relationnelles. November 26, 2013 November 26, 2013 SQL : En tant que langage d interrogation En tant que langage de mise à jour En tant que langage de définition de données Langages de requête Langages qui permettent d interroger la BD

Plus en détail

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

RMI le langage Java XII-1 JMF

RMI le langage Java XII-1 JMF Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine

Plus en détail

Module FMIN358 Technologies du Web : PHP objet et l extension PDO

Module FMIN358 Technologies du Web : PHP objet et l extension PDO Module FMIN358 Technologies du Web : PHP objet et l extension PDO 1. Extensions PHP pour interfacer les bases de données relationnelles Diverses extensions comme PHP Data Objects (PDO), ADOdb, Zend db

Plus en détail

Cours: Administration d'une Base de Données

Cours: Administration d'une Base de Données Bases de Données Avancées Module A IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Cours: Administration d'une Base de Données Table of Contents Principes...1 Structure d'un Base de Données...1 Architecture...1

Plus en détail

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

Plus en détail

Interfaçage de programmation. c Olivier Caron

Interfaçage de programmation. c Olivier Caron Interfaçage de programmation 1 Le SGBD est-il suffisant? (1/2) Les pour : La puissance du langage de requêtes. 1 Le SGBD est-il suffisant? (1/2) Les pour : La puissance du langage de requêtes. L aspect

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

PHP 5. La base de données MySql. A. Belaïd 1

PHP 5. La base de données MySql. A. Belaïd 1 PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple

Plus en détail

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Sommaire 1. Objectifs et intérêts... 2 2. Intégrer le driver SQL Server dans SJSAS 9... 2 2.1. Télécharger

Plus en détail

11. MySQL. Cours Web. MySQL. 11. MySQL. 11. MySQL. Structured Query Language. Lionel Seinturier. Université Pierre & Marie Curie

11. MySQL. Cours Web. MySQL. 11. MySQL. 11. MySQL. Structured Query Language. Lionel Seinturier. Université Pierre & Marie Curie Cours Web Lionel Seinturier Université Pierre & Marie Curie Lionel.Seinturier@lip6.fr Structured Query Language Langage de manipulation des données stockées dans une base de données interrogation/insertion/modification/suppression

Plus en détail

Le langage SQL (première partie) c Olivier Caron

Le langage SQL (première partie) c Olivier Caron Le langage SQL (première partie) 1 Plan Le S.G.B.D. postgres Le langage SQL Langage de manipulation de données Langage de requêtes 2 Quelques mots sur Postgres (1/2) Travaux de Stonebraker (Univ. Berkeley)

Plus en détail

FileMaker 10. Guide ODBC et JDBC

FileMaker 10. Guide ODBC et JDBC FileMaker 10 Guide ODBC et JDBC 2004-2009 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054, Etats-Unis FileMaker, le logo en forme de dossier,

Plus en détail

Olivier Mondet http://unidentified-one.net

Olivier Mondet http://unidentified-one.net T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage

Plus en détail