FAQ JDBCConsultez toutes les FAQ
Nombre d'auteurs : 8, nombre de questions : 162, dernière mise à jour : 3 juin 2015 Ajouter une question
Cette FAQ a été réalisée à partir des questions fréquemment posées sur les forums de http://www.developpez.com et de l'expérience personnelle des auteurs.
Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, lisez ceci.
- Qu'est-ce que JDBC ?
- Quelques définitions utiles avant de commencer : SQL, ODBC, SGBDR
- Que peut-on faire avec JDBC ?
- À quels SGBDR puis-je me connecter avec JDBC ?
- Architecture générale de JDBC
- Quelles sont les différences entre JDBC 1.0, 2.0 et 3.0 ?
- Où trouver plus d'informations sur JDBC ?
- Où trouver plus d'informations sur SQL et les SGBDR ?
JDBC est une API (Application Programming Interface) Java disponible depuis la version 1.1 du JDK. Pour note, JDBC est un nom déposé et non un acronyme, même si en général on lui donne la définition suivante : Java DataBase Connectivity.
Cette API est constituée d'un ensemble d'interfaces et de classes qui permettent l'accès, à partir de programmes Java, à des données tabulaires (c.-à-d. triées sous forme de table ou de tableur). Par données tabulaires, on entend généralement des bases de données contenues dans des SGBD relationnels. Mais, JDBC n'est pas restreinte à ce type de source de données. On peut aussi accéder à des sources de données sous forme de fichiers (fichiers XML par exemple).
Rappelons d'abord quelques notions élémentaires.
SQL (Structured Query Language) : le « langage de requêtes structuré » est un langage d'interrogation universel permettant la définition, la manipulation et le contrôle des données, pour les bases de données relationnelles. SQL est un standard supporté par la plupart des SGBD.
SGBDR (Système de gestion de bases de données relationnelles) : un SGBDR est un logiciel assurant la structuration, le stockage, la maintenance, la mise à jour et la consultation d'une base de données relationnelle. Sachant qu'une base de données relationnelle est une collection de données structurées sous forme de tableaux à deux dimensions (lignes et colonnes). Exemples : Oracle, Sybase, MySql, DB2, Interbase, etc.
ODBC (Open DataBase Connectivity) : interface écrite en C qui permet la communication avec les bases de données. Tout comme JDBC, ODBC permet la manipulation des bases de données « indépendamment » du SGBD.
L'API JDBC permet, entre autres :
- l'établissement d'une connexion avec le SGBD ;
- l'envoi de requêtes SQL au SGBD, à partir du programme Java ;
- le traitement, au niveau du programme, des données retournées par le SGBD ;
- le traitement des métadonnées de la connexion, de l'instruction ou des résultats ;
- le traitement des erreurs retournées par le SGBD lors de l'exécution d'une instruction.
L'API JDBC permet virtuellement de se connecter à n'importe quel SGBDR. On a donc indépendance de la plate-forme (Java) et indépendance du SGBD (JDBC), c'est la philosophie même de Java : "Write Once, Run Anywhere".
L'utilisation du langage de programmation Java en collaboration avec l'API JDBC est donc une solution véritablement portable d'écrire des applications utilisant les bases de données.
Voici une liste non exhaustive des SGBD accessibles avec JDBC :
- DB2
- FoxPro
- Ingres
- Interbase
- MS Access
- MS SQL Server
- MySQL
- Oracle
- Paradox
- PostgreSQL
- Sybase
Voici l'architecture générale de JDBC :
On peut distinguer sur ce schéma simplifié trois types de technologies. En jaune, nous avons la technologie Java, dont une partie de JDBC (gestionnaire et pilotes). Pour les trois premiers types de drivers, on remarque en vert la présence d'intermédiaires non Java comme les API natives ou les serveurs intermédiaires. Enfin, en bleu, viennent les différents SGBD.
Remarque : les noms des drivers et SGBD sont donnés ici à titre d'exemple. Il en existe bien d'autres.
Et voici, les étapes généralement rencontrées dans un programme utilisant cette technologie :
- chargement du driver correspondant au SGBD ciblé ;
- ouverture d'une connexion vers la base de données ;
- création d'une requête (Statement) ;
- exécution de la requête ;
- accès aux résultats de la requête ;
- accès aux métadonnées (des résultats, de la connexion, etc.) ;
- gestions des erreurs (exceptions et warnings) ;
- libération des ressources (fermeture de la connexion, etc.).
L'API JDBC est présente depuis la version 1.1 de Java (JDBC 1.0). En conséquence, elle a connu plusieurs versions. Ces différentes versions ont consisté en l'ajout de nouvelles fonctionnalités (classes et interfaces) ou en l'amélioration des fonctionnalités déjà présentes. La dernière version en date, JDBC 3.0, est disponible depuis février 2002. Elle fait partie intégrante de J2SE depuis la version 1.4.
- JDBC 1.0 : depuis le JDK 1.1. Formée du package java.sql
- JDBC 2.0 : depuis le JDK 1.2. Formée des packages java.sql et javax.sql
- JDBC 3.0 : depuis le JDK 1.4. Formée des packages java.sql, javax.sql et javax.sql.rowset
Pour de plus amples informations sur les différentes fonctionnalités apparues (dans tous les packages) au fil du temps, regardez la description du package java.sql.
Et JDBC 4.0 alors ? La version 4.0 de JDBC est déjà en cours de conception : JSR 221: JDBC 4.0 API Specification. Elle prévoit notamment l'intégration des nouveautés de la version 1.5 de J2SE, comme la généricité.
Sur le site de Sun :
- JDBC Technology
- JDBC API Documentation
- FAQ JDBC Sun
- JDBC Basic Tutorial
- JDBC Advanced Tutorial
- JDBC RowSet Tutorial
Sur www.developpez.com :
Sur jGuru :
Sur le site de votre SGBDR, par exemple :
Si vous ne trouvez pas votre bonheur dans ces différentes sources, il reste le forum Général Java et le forum Développement Web en Java de www.developpez.com.
Pour plus d'informations sur le langage SQL et les SGBDR, www.developpez.com vous propose ses cours, tutoriels, FAQ et forums dont :
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.