Bonjour,
j'ai une erreur lorsque j'essaie de migrer une petite application de mysql vers Oracle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
		System.out.println("Ce qui marche");
		try {
			Class.forName("com.mysql.jdbc.Driver");
			System.out.println("Driver chargé !");
		} catch (final ClassNotFoundException e) {
			System.out.println("Erreur lors du chargement du driver" + e.getMessage());
		}
 
		System.out.println("Ce qui ne marche pas");
		try {
			Class.forName("oracle.jdbc.OracleDriver");
		} catch (Exception e) {
			System.out.println("--Pbm en chargeant le driver JDBC oracle.jdbc.OracleDriver");
			e.printStackTrace();
		}
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
		} catch (Exception e) {
			System.out.println("--Pbm en chargeant le driver JDBC oracle.jdbc.driver.OracleDriver--");
			e.printStackTrace();
		}
Class.forName envoie une exception.
J'essaie de vérifier que les classes en question sont bien accessibles en faisant

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
		oracle.jdbc.OracleDriver myoracledriver1 = null;
		oracle.jdbc.driver.OracleDriver myoracledriver2 = null;
Ca compile
un CTRL Click m'envoie vers
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
public class OracleDriver extends oracle.jdbc.driver.OracleDriver
{
  public static final boolean isDMS()
  {
    return false;
  }
ou vers (je sais on s'en doutait)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
public class OracleDriver
  implements Driver
{
Les deux pavés suivant étant dans les fichiers OracleDriver.class du package oracle.jdbc de ojdbc6-12.1.0.1.jar et OracleDriver.class du package oracle.jdbc.driver de ojdbc6-12.1.0.1.jar



Voici des précisions, le suis débutant en java mais largement confirmé en dotnet donc tout a fait en mesure de faire d'énormes erreurs dans ma démarche.

C'est un projet que je viens de récupérer suite au départ des seuls compétences java de la maison (qui n'avaient jamais rien développé sous autre chose que mysql ou mongodb)
Le projet utilise Maven
ojdbc6 n'est pas récupérer depuis Maven donc
dans pom.xml j'ai rajouté ceci derrière la déclaration mysql existante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.25</version>
		</dependency>
		<dependency>
			<groupId>com.oracle</groupId>
			<artifactId>ojdbc6</artifactId>
		    <version>12.1.0.1</version>
	    	<type>jar</type>
		    <scope>test</scope>
		</dependency>
J'ai télécharger le jar depuis chez oracle sous le nom ojdbc6.jar et je l'ai copié en respectant une régle de nomage (que j'ai supposée) ojdbc6-12.1.0.1.jar
Dans le répertoire créé automatiquement par le rajout dans pom.xml (à coté de tous ses petits frères mysql et divers).

Ce rajout provoque l'affichage de ojdbc6-12.1.0.1.jar dans le répertoire "Maven Dependencies" dans le package explorer.

Voilà, ce genre de "migration" m'aurait pris 1h sur dotnet, je pensais mettre 4 h dans le projet java~eclipse~Maven, et je suis bloqué comme un bleu.

Aidez moi à aimer java

Je suis presque certain que mon problème est lié à la façon de "déclarer" ojdbc6, mais je ne sais pas comment faire autrement !