Précédent Suivant

JDBC avec ORACLE 8


Le driver OCI
Le driver Thin
Utilisation du driver OCI
Utilisation du driver Thin

Oracle dans sa version 8 (8.0.4 et plus) met à disposition deux drivers JDBC. Le driverJDBC OCI et le driver JDBC Thin.

Le driver JDBC OCI
C'est un driver de type 2. Il fournit une implémentation des interfaces JDBC en utilisant OCI (Oracle Call Interface) pour interagir avec une base de données Oracle. Parce qu'il utilise des méthodes natives, il est spécifique à une plate-forme. Les plates-formes supportées sont Solaris (2.5 et plus), Win95 et WinNT (3.51 et plus). Ce driver requière l'installation d'un client Net8 sur le poste client.

Le driver JDBC Thin
C'est un driver de type 4. Il utilise directement les sockets Java pour se connecter directement à la base. Il fournit sa propre implémentation de Net8 en TCP/IP. Le driver est entièrement écrit en Java, c'est pour cette raison qu'il est complètement indépendant de la plate-forme. Le driver Thin ne requière pas de logiciel côté client, à l'inverse de l'OCI. Il nécessite uniquement un listener TCP/IP côté serveur.

L'avantage du driver Thin est qu'on peut écrire des applets qui sont téléchargeables dans un navigateur, vu qu'il ne nécessite aucune appli côté client. Par contre le driver OCI, lui, utilise des méthodes natives, qui font que les applets ne fonctionneront pas.

La première chose à faire est d'installer le driver côté serveur. Pour cela, utilisez l'Oracle Installer et installez "Oracle8 JDBC Drivers 8.0.5.0.0".

Utilisation du driver OCI
Par exemple, si on veut se connecter à une base sur la machine "myhost" qui a un listener TCP/IP sur le port 1521 et un SID (System Identifier) "orcl", l'url aura cette forme :
DriverManager.getConnection("jdbc:oracle:oci8:@(description=(address=(host= myhost)(protocol=tcp)(port=1521))(connect_data=(sid=orcl)))", "scott", "tiger");

import java.sql.*;
class JdbcTest {
    public static void main (String args []) throws SQLException {
         // Load Oracle driver
        DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
         // Connect to the local database
         Connection conn = DriverManager.getConnection ("jdbc:oracle:oci8:@mydatabase", "scott", "tiger");
         // Query the employee names
         Statement stmt = conn.createStatement ();
         ResultSet rset = stmt.executeQuery ("select ename from emp");
         // Print the name out while (rset.next ()) System.out.println (rset.getString (1));
     }
}

Utilisation du driver Thin
Par exemple, si on veut se connecter à une base sur la machine "myhost" qui a un listener TCP/IP sur le port 1521 et un SID (System Identifier) "orcl", l'url aura cette forme :
DriverManager.getConnection ("jdbc:oracle:thin:@myhost:1521:orcl", "scott", "tiger");

import java.sql.*;
class JdbcTest {
    public static void main (String args []) throws SQLException {
        // Load Oracle driver
         DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
         // Connect to the local database
         Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@myhost:1521:orcl", "scott", "tiger");
         // Query the employee names
         Statement stmt = conn.createStatement ();
         ResultSet rset = stmt.executeQuery ("select ename from emp");
         // Print the name out while (rset.next ()) System.out.println (rset.getString (1));
     }
}


Précédent Suivant