Un pilote de base de données est un logiciel qui vous permet de parler à votre base de données depuis votre application. Il existe des pilotes spécifiques à un langage tels que JDBC, ODBC, OLE DB où l'interface du pilote est implémentée selon les spécifications du langage afin que votre application puisse interagir avec la base de données selon des spécifications prédéfinies.
Sous le couvert, le pilote de base de données convertit les requêtes SQL de votre application en un langage de protocole pour parler au serveur de base de données et retourner les résultats des requêtes à votre application en reconvertissant le langage de protocole en résultats de spécifications de langage. Par conséquent, le pilote doit être en mesure de parler à une base de données en utilisant un protocole d'enveloppe relationnelle, c'est-à-dire que le pilote et la base de données doivent parler dans un langage communément compris qui leur permet d'échanger des informations relationnelles.
Selon ma compréhension, la base de données Oracle utilise le protocole Net8, les bases de données IBM utilisent DRDA.
Une simple instruction CONNECT peut être illustrée sous le couvercle comme ceci :
Base de données : écoute active sur le port xxx.
Pilote : Ouvre une connexion TCP/IP au port xxx. Envoi d'une requête à la base de données avec des informations sur l'application, la version du pilote, le niveau de wrapper relationnel supporté yy, le nom d'utilisateur et le mot de passe. Tout cela pourrait être dans une information de 256 octets.
Base de données : OK, je vois que vous pouvez parler en niveau de wrapper relationnel yy, je supporte ce niveau, vérifions votre nom d'utilisateur et votre mot de passe (qui peuvent être trouvés au xème et au yème octet de la requête d'entrée). Ok, vous êtes autorisé à vous connecter.
Pilote : Demande à se connecter à database1.
Database : OK vous êtes connecté à database1.
---------------------------------------
Une façon rapide de comprendre comment les pilotes fonctionnent sous le couvert est de regarder les journaux de trace du pilote, qui devraient être facilement disponibles lorsque vous activez la trace lors de la connexion à une base de données. Cela peut être déroutant au début, mais au bout d'un moment, c'est tout ce qu'il y a de blond, de brun et de roux.