Un système d’application de base de données relationnelle en réseau est une structure à trois niveaux. Le client et le serveur sont connectés via un réseau. Le programme d'application client communique avec le programme de base de données côté serveur selon le protocole de communication ; le programme de service de base de données communique avec le système de gestion de base de données par l'intermédiaire de commandes SQL.
Il existe deux manières de connecter des programmes Java aux bases de données. L'une consiste à utiliser un pont JDBC-ODBC pour se connecter à la base de données, et l'autre consiste à utiliser un pilote JDBC Java pur pour se connecter à la base de données.
Connectez-vous à la base de données à l'aide du pont JDBC-ODBC
Le programme Java utilise le pont JDBC-ODBC pour se connecter à la base de données. Le processus de communication entre le programme Java et la base de données est le suivant :
Tout d'abord, l'application de base de données émet un appel API au gestionnaire de pilotes ODBC. Le gestionnaire de pilotes ODBC convertit cet appel en appel de pilote ODBC vers le système de gestion de base de données. Le système de gestion de base de données convertit à son tour cet appel en entrée/sortie de données vers le système d'exploitation. appel du système. Enfin, le système d'exploitation récupère les données réelles de la base de données et les renvoie étape par étape.
La programmation de la base de données doit d'abord configurer la source de données. Les étapes pour configurer la source de données dans ODBC sont les suivantes :
Ouvrez les outils d'administration dans le Panneau de configuration de Windows. Pour Windows XP : Sélectionnez « Performance Maintenance » >> « Outils de gestion » >> « Source de données (ODBC) » ; Pour Windows 2000 : Sélectionnez « Outils de gestion » >> « Source de données ».
Ouvrez "Source de données". La boîte de dialogue Gestionnaire de sources de données ODBC apparaît, affichant les noms des sources de données existantes.
Sélectionnez "User DSN", cliquez sur le bouton "Ajouter" et la boîte de dialogue d'installation du pilote de source de données apparaîtra. Accédez à la source de données (*.mdb), cliquez sur le bouton "Terminer", la boîte de dialogue "Créer une source de données apparaîtra, saisissez le nom de la source de données à créer et sélectionnez une table de base de données pour la source de données créée.
Cliquez sur le bouton "Sélectionner" dans la zone de base de données et sélectionnez la table de base de données requise. Lorsque vous devez autoriser le niveau d'accès à la source de données, cliquez sur le bouton Avancé. Après avoir défini le nom de connexion et le mot de passe, cliquez sur le bouton "OK" pour terminer la configuration de la base de données Access dans le gestionnaire ODBC.
Si une table de base de données n'existe pas encore, vous devez en créer une.
La source de données est la base de données. Après avoir défini la source de données, le programme Java doit accéder à la table de la base de données et établir un pont JDBC-ODBC pour connecter le programme à la base de données. Après cela, le programme peut envoyer des instructions SQL à la base de données et traiter les résultats renvoyés par la base de données. Java Database Connection JDBC (Java DataBase Connectivity) se compose d'un ensemble de classes et d'interfaces écrites en langage Java. JDBC est une API permettant de connecter des programmes Java à des bases de données. Il peut effectuer les trois tâches suivantes : établir une connexion avec une base de données, envoyer des instructions SQL à la base de données et traiter les résultats renvoyés par la base de données.
L’appel de la méthode de classe Class.forName(String s) peut établir un pont JDBC-ODBC. Par exemple, codez :
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(Exception e){}
Les pilotes sont chargés pour les programmes Java.
[Exemple] Décrivez la méthode connectByJdbcOdbc() pour se connecter à la base de données. Cette méthode se connecte à la base de données en fonction de l'URL de la base de données, du nom d'utilisateur et du mot de passe donnés. Si la connexion est réussie, la méthode renvoie l'objet de connexion. sans succès, il revient vide.
connexion statique publique connectByjdbcOdbc(String url, String username, String password){ Connection con = null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //Charger le pilote ODBC} catch (Exception e){ e); .printStackTrace(); return null; //La connexion a échoué} try{ con = DriverManager.getConnection(url, nom d'utilisateur, mot de passe }) catch (SQLExceotuib e){ e.printStackTrace(); return null //Connexion échouée} return con;
Le code suivant est un appel à la méthode connectByJdbcOdbc(). Si la connexion à la base de données réussit, une fenêtre d'informations de connexion à la base de données réussie apparaîtra. Sinon, une fenêtre d'informations de connexion à la base de données ayant échoué apparaîtra.
if ((con = connectByJdbcOdbc("jdbc:odbc:redsun", "xia", "1234")) != null){ JoptionPane.showMessageDialog(null, "Connexion à la base de données réussie"); con = null; } catch (SOLException e){}}else JOptionPane.showMessageDialog(null, "La connexion à la base de données a échoué");
Utilisez le pilote Java JDBC pur pour vous connecter à la base de données
Les programmes Java peuvent également utiliser des pilotes JDBC Java purs pour se connecter à la base de données. Cette méthode est largement utilisée, mais elle nécessite de télécharger le package de pilotes correspondant, car les codes de connexion des différentes bases de données peuvent être différents, et les pilotes chargés peuvent également être différents lors de la connexion à différentes bases de données. Par exemple, le pilote pour se connecter à SQL Server est téléchargé à partir du site Web www.msdn.com. Il existe trois packages : msbase.jar, mssqlserver.jar et msutil.jar, et ces trois packages doivent être placés dans jdk/. jre/lib/ext/, ou définissez son emplacement dans CLASSPATH.
Le processus d'utilisation d'un pilote JDBC Java pur pour se connecter à la base de données est le suivant :
Chargez le pilote. Il existe deux manières de charger le pilote :
La première consiste à ajouter le pilote à la propriété jdbc.drivers de java.lang.System. Il s'agit d'une liste de noms de classes de pilotes chargés par la classe DriverManager, séparés par des deux-points.
Une autre méthode consiste à utiliser la méthode Class.forName() pour charger le pilote spécifié dans le programme après avoir téléchargé le pilote à partir du site Web correspondant. Par exemple:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Crée une URL pour la base de données spécifiée. L'objet URL de la base de données est similaire au localisateur de ressources uniforme du réseau et son format est :
jdbc:subProtocol:subName://hostname:port:Databasename=XXX
Parmi eux, le sous-protocole est un mécanisme de connexion à la base de données pris en charge par un certain pilote ; le sous-nom est le nom spécifique sous le mécanisme de connexion actuel ; le nom d'hôte est le port de connexion correspondant ; Par exemple, le code suivant pourrait être une URL de base de données :
jdbc:Microsoft:sqlserver://localhost:1433;Databasename=ksinfo
La description URL de la base de données utilise le mécanisme fourni par Miscrosoft et utilise le pilote sqlserve pour accéder à la base de données ksInfo sur la machine locale via le port 1433.
Établissez une connexion. La méthode getConnection() du DriverManager établit une connexion.
[Exemple] Décrivez la méthode statique connectByJdbc() qui se connecte à la base de données en fonction de l'URL de la base de données, du nom d'utilisateur et du mot de passe donnés. Si la connexion réussit, la méthode renvoie true. , il renvoie faux.
public static Connection conectByJdbc(String url, String username, String password){ Connection con = null; try{ Class.forName( //Charger le pilote spécifique "com.microsoft.jdbc.sqlserver.SQLServerDriver" } catch (Exception e); ){ e.printStackTrace(); return null; //La connexion a échoué} try{ con = DriverManage.getConnection(url, nom d'utilisateur, mot de passe } catch); (SQLException e){ e.printStackTrace(); return null; //Échec de la connexion} return con//Connexion réussie}