Bonjour,
j'ai une erreur lorsque j'essaie de migrer une petite application de mysql vers Oracle.
Class.forName envoie une exception.
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(); }
J'essaie de vérifier que les classes en question sont bien accessibles en faisant
Ca compile
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 oracle.jdbc.OracleDriver myoracledriver1 = null; oracle.jdbc.driver.OracleDriver myoracledriver2 = null;
un CTRL Click m'envoie vers
ou vers (je sais on s'en doutait)
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; }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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public class OracleDriver implements Driver {
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
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
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>
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 !
Partager