l. Méthodes de connexion à la base de données : 1) ODBC (Open Database Connectivity)
Une interface basée sur le langage C pour accéder au moteur de base de données basé sur SQL. Elle fournit une interface cohérente pour communiquer avec la base de données et accéder aux données.
2) JDBC
Version Java d'ODBC
2. Interface de programmation d'applications JDBC Réponse : L'interface de programmation d'applications JDBC est :
1) Interface standard d’accès aux données, qui peut être connectée à différentes bases de données ;
2) Un ensemble de classes et d'interfaces dans le langage de programmation JAVA.
L'interface de programmation d'applications JDBC peut :
1) Connectez-vous à la base de données ;
2) Envoyez la chaîne de requête SQL à la base de données ;
3) Traitez les résultats.
L'interface de programmation d'applications JDBC comporte deux parties principales :
1) L'interface de développement d'applications JAVA est destinée aux développeurs d'applications JAVA ;
2) Interface de développement de pilotes JDBC
3. Pilote JDBC
Réponse : 1) Un grand nombre de classes qui implémentent les classes et les interfaces JDBC ;
2) Fournit une classe qui implémente l'interface java.sql.Driver.
4. Quatre types de pilotes JDBC Réponse : 1) Pont JDBC-ODBC
Accès JDBC fourni par le pilote ODBC
2) API locale
Certains pilotes Java convertissent les appels JDBC en API client locales
3) JDBC-net
Un pilote Java pur qui transfère les appels JDBC vers un SGBD et n'a rien à voir avec les protocoles réseau. L'appel est ensuite converti au protocole SGBD via le serveur.
4) Protocole local
Pilote Java pur, convertit les appels JDBC directement en protocole réseau utilisé par le SGBD
5. Réponse de l'interface développeur JDBC : 1) java.sql - la fonction principale de JDBC sous la plate-forme Java 2, version standard (J2SE)
2) javax.sql - Fonctions améliorées JDBC sous la plateforme Java 2, Enterprise Edition (J2EE)
6. Utiliser l'URL pour confirmer la base de données Réponse : Nous utilisons l'URL pour déterminer une base de données (pilote correct, hôte correct, protocole correct, protocole correct , nom d'utilisateur et mot de passe corrects) ;
Syntaxe : protocole : sous-protocole : sous-nom
Exemple : jdbc:db2:MonTest
jdbc:db2://localhost:6789/MyTest
7. Fonctions améliorées du package javax.sql JDBC2.0 Réponse : 1) Interface de source de données ;
2) Pool de connexions ;
3) Transactions distribuées ;
4) Ensemble de lignes ;
8. Créer une application JDBC de base Réponse : 1) Étape 1 : Enregistrez un pilote ;
2) Étape 2 : Établissez une connexion à la base de données ;
3) Étape 3 : Créez une déclaration ;
4) Étape 4 : Exécutez l'instruction SQL ;
5) Étape 5 : Traiter les résultats ;
6) Étape 6 : Fermez l'objet JDBC
9. Enregistrez un pilote (étape 1)
Réponse : 1) Le pilote est utilisé pour se connecter à la base de données ;
2) L'interface de programmation d'application JDBC utilise le premier pilote capable de se connecter avec succès à l'URL donnée ;
3) Plusieurs pilotes peuvent être chargés en même temps
10. Comment enregistrer un pilote :
Réponse : 1) Utiliser le chargeur de classe (chargement ; instanciation ; enregistrement dans DriverManager)
a.Class.forName("Com.ibm.db2.jdbc.app.DB2Driver");
b.Class.forName("Com.ibm.db2.jdbc.net.DB2Driver");
c.Class.forName("Com.microsoft.jdbc.sqlServer.SQLServerDriver);
d.Class.forName("oracl.jdbc.driver.OracleDriver");
e.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
2) Instancier un pilote
a. Driver drv = new COM.cloudscape.core.RmiJdbcDriver();
1. Établissez une connexion à la base de données (étape 2)
Réponse : Lorsque DriverManager appelle la méthode getConnection(urlString), il appelle en fait la méthode connect(urlString) du pilote ;
1) Lorsqu'un pilote correspond définitivement à une URL de base de données, DriverManager établit une connexion ;
2) Lorsqu'aucun pilote ne correspond, null est renvoyé et le pilote suivant est vérifié ;
3) Si la connexion n'est pas établie, une exception SQLExcepiton est levée
2. Certaines URL JDBC couramment utilisées
Réponse : 1) JDBC-ODBC : jdbc:odbc:<DB>
2) Oracle : jdbc:oracle:oci:@<sid> ou jdbc:oracle:thin:@<SID>
3) Weblogic MS-SQL : jdbc:weblogic:mssqlserver4:<DB>@<HOST>:<PORT>
4) DB2 : jdbc:db2:MyTest ou jdbc.db2://localhost:6789/MyTest (nécessite un nom d'utilisateur et un mot de passe)
3. Réponse de la méthode de connexion du pilote : 1) Créez un appel direct à l'instance de pilote spécifiée ;
2) Évitez les problèmes d'accès généraux
Pilote drv = new COM.ibm.db2.jdbc.app.DB2Driver();
Connexion con = null ;
essayez {con = drv.connect("jdbc:db2:MyTest",new Properties())}
catch(SQLException e){}
4. Créer une instruction (étape 3)
Réponse : 1) Trois interfaces de Statement :
une déclaration ;
b. PreparedStatement (hérité de Statement) ;
c. CallableStatement (hérité de PreparedStatement) ;
2) Utilisez la méthode Connection.createStatement() pour obtenir un objet Statement
5. Objet PreparedStatement Réponse : 1) L'appel de ProparedStatement est plus efficace que l'instruction ;
2) Hérité de la déclaration ;
3) Syntaxe : PreparedStatement pstm = connection.prepareStatement(sqlString);
6. Réponse de l'objet CallableStatement : 1) Appelez la procédure stockée dans la base de données via CallableStatement ;
2) Hérité de PreparedStatement ;
3) CallableStatement cstm = connection.prepareCall("{call return_student[?,?]}");
cstm.setString(1,"8623034");
cstm.registerOutparameter(2, Types.REAL);
cstm.execute();
float gpa = cstm.getFloat(2);
7. Comparaison de l'interface Statement : | PreparedStatement |
-------------------------------------------------- ----------------------------
Emplacement du code d'écriture | Client | Client |
-------------------------------------------------- ----------------------------
Emplacement du code d'écriture | côté serveur |
-------------------------------------------------- ----------------------------
Technologie de codage | Java, opérations SQL | Java, opérations SQL | Langages de programmation de bases de données, tels que PL/SQL
-------------------------------------------------- ----------------------------
Configurabilité | Élevé | Élevé la première fois, faible par la suite |
-------------------------------------------------- ----------------------------
Portabilité | Élevée | Élevée en supposant que PreparedStatement soit pris en charge
-------------------------------------------------- ----------------------------
Efficacité de transmission | Faible | Faible pour la première fois, élevée par la suite |