Explication des types de pilotes JDBC

Qu’est-ce qu’un pilote JDBC ?

Pour se connecter à une base de données à partir d’un programme Java, un pilote JDBC spécialement conçu pour la base de données à laquelle vous vous connectez doit être utilisé.

Chaque fournisseur fournit un pilote JDBC personnalisé qui sait comment marshaler les requêtes SQL entre votre application Java et sa base de données spécifique.

  • Pour vous connecter à une base de données MySQL, vous devez télécharger un pilote MySQL JDBC
  • Pour vous connecter à une base de données HyperSQL, vous devez télécharger un pilote HSQLDB JDBC
  • Pour vous connecter à une base de données DB2, vous devez télécharger un pilote DB2 JDBC
  • Pour vous connecter à une base de données Oracle, vous devez télécharger un pilote Oracle JDBC

Tu obtiens le point.

Quels sont les 4 types de pilotes JDBC ?

Si vous creusez dans la spécification de l’API, vous remarquerez qu’il existe quatre types de pilotes JDBC différents :

  1. Le pilote JDBC de type 1 est simplement un pont JDBC-ODBC
  2. Le pilote JDBC de type 2 est écrit dans un langage autre que Java, souvent C++ ou C
  3. Le pilote JDBC de type 3 communique d’abord avec un serveur middleware, pas directement avec la base de données
  4. Le pilote JDBC de type 4 est une implémentation Java pure et directe vers la base de données

Ici, nous voyons le pilote Derby JDBC chargé en premier avant qu’une connexion ne soit établie à la base de données à partir du programme Java.

Qu’est-ce qu’un pilote JDBC de type 1 ?

Les pilotes JDBC de type 1 ne sont pas recommandés pour les systèmes de production.

Ce type de pilote JDBC est simplement une interface légère sur un autre protocole de base de données.

Étant donné que le protocole le plus courant couvert par le pilote JDBC de type 1 est ODBC, il est souvent appelé pont JDBC-ODBC.

Qu’est-ce qu’un pilote JDBC de type 2 ?

Les pilotes JDBC de type 2 sont souvent utilisés dans les systèmes basés sur la production.

DB2 propose un pilote JDBC de type 2 écrit en C++, extrêmement rapide et efficace, et se connecte à un logiciel IBM personnalisé qui rassemble les appels SQL dans les deux sens vers des bases de données hébergées sur des machines z/OS, AS/400 et d’autres systèmes Unix. et les systèmes iSeries.

En tant que développeurs Java, nous penchons toujours vers une solution 100% basée sur Java. Mais il y a des moments où l’utilisation d’un autre langage de programmation a plus de sens.

Étant donné que le pilote JDBC de type 2 utilise un langage autre que Java, il est souvent appelé pilote d’API natif.

Qu’est-ce qu’un pilote JDBC de type 3 ?

Le pilote JDBC de type 3 est écrit uniquement en Java, mais il n’envoie pas d’appels SQL directement à la base de données.

Au lieu de cela, un pilote JDBC de type 3 communique avec un logiciel distinct qui rassemble ensuite les demandes dans les deux sens vers la base de données ciblée.

Le pilote DataDirect SequeLink JDBC appartient à la catégorie de type 3.

Qu’est-ce qu’un pilote JDBC de type 4 ?

Un pilote JDBC de type 4 est entièrement écrit en Java.

Le pilote JDBC de type 4 se connecte également directement à la base de données cible via l’utilisation d’API réseau ou d’appels d’E/S Java.

Étant donné qu’aucun code natif n’est impliqué et qu’il n’est pas nécessaire que les requêtes SQL passent par un middleware distinct, le pilote JDBC de type 4 est souvent appelé pilote JDBC léger.

Le pilote JDBC de type 4 est le plus courant de tous les pilotes, la plupart des bases de données populaires, notamment DB2, Derby, HSQLDB et MySQL, les rendant disponibles pour les applications Java.

Existe-t-il un pilote JDBC de type 5 ?

Vous entendrez souvent parler de pilotes JDBC de type 5, mais en ce qui concerne la spécification JDBC, il n’y a rien de tel.

Les fournisseurs vanteront souvent une nouvelle technologie incroyable ou des avancées scientifiques qui différencieront leur pilote de base de données de tous les autres, et ils qualifient cet exploit révolutionnaire de pilote JDBC de type 5, mais ce n’est qu’un battage marketing.

Il n’y a que 4 types de pilotes JDBC.

Quel type de pilote JDBC dois-je choisir ?

Pour choisir le bon type de pilote JDBC pour votre projet Java, posez-vous les questions suivantes :

  • Quels pilotes JDBC sont disponibles pour ma base de données ?
  • Existe-t-il un pilote JDBC basé sur Java pur ?
  • Y a-t-il des fonctionnalités personnalisées dont je pourrais avoir besoin d’un pilote JDBC natif ?

Quand utiliser le pont JDBC ODBC ?

S’il n’y a qu’un seul type de pilote JDBC disponible pour la base de données de votre choix, la question de savoir quel type de pilote JDBC utiliser sera très simple.

Par exemple, avec Microsoft Access, le seul type de pilote JDBC disponible est le pont JDBC-ODBC. Vous n’avez pas d’autres options.

S’il existe des options, un pilote écrit uniquement en Java est préférable à un pilote JDBC natif.

Et un pilote JDBC de type 4 qui ne nécessite l’installation d’aucun middleware est préféré à un pilote JDBC de type 3, car l’installation, la maintenance et la migration sont beaucoup plus faciles à effectuer.

Quand choisir un type de pilote API JDBC natif ?

Et il y a des moments où un pilote API natif de type 2 est le bon choix pour JDBC.

Parfois, un pilote de type 2 fournira une connectivité à des systèmes non standard qui sont en dehors des capacités d’un pilote JDBC léger. Et le middleware auquel un pilote de type 2 ou de type 3 se connecte peut fournir des fonctionnalités spéciales pour la mise en œuvre de la sécurité côté serveur ou des validations transactionnelles en deux phases qui pourraient ne pas être disponibles dans un type de pilote Java JDBC pur.

Si votre application nécessite des fonctionnalités spéciales disponibles uniquement via un type de pilote JDBC natif, le pilote de type 2 est évidemment le bon choix.

Leave a Comment

Your email address will not be published. Required fields are marked *