NetBeans avec Oracle Connection Java.lang.classnotFoundException
-
19-09-2019 - |
Question
J'utilise NetBeans 6.5.
Lorsque j'essaie d'exécuter le code suivant:
package com.afrikbrain.numeroteur16;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author
*/
public class NumeroteurTest {
public NumeroteurTest() {
}
public void doIt() throws ClassNotFoundException{
try {
Class.forName("oracle.jdbc.OracleDriver");
Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","user","pwd");
String newNUMERO = new Numeroteur16("MATCLI", connection).numeroter();
System.out.println("NUMERO GENERE : "+newNUMERO.toString());
}
catch (SQLException ex) {
Logger.getLogger(NumeroteurTest.class.getName()).log(Level.SEVERE, null, ex);
ex.printStackTrace();
}
catch (NumException ex) {
System.out.println(ex.getMessage());
ex.printStackTrace();
}
}
public static void main(String[] args){
try {
new NumeroteurTest().doIt();
} catch (ClassNotFoundException ex) {
Logger.getLogger(NumeroteurTest.class.getName()).log(Level.SEVERE, null, ex);
System.out.println("Driver not found.");
}
}
}
J'obtiens cette erreur:
java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at com.afrikbrain.numeroteur16.NumeroteurTest.doIt(NumeroteurTest.java:27)
at com.afrikbrain.numeroteur16.NumeroteurTest.main(NumeroteurTest.java:45)
Driver not found.
Comment résoudre ce problème?
La solution
Le problème: Java ne trouve pas la classe de pilote JDBC.
Solution: ajoutez le pilote Oracle JDBC à votre chemin de classe.
Vous pouvez l'obtenir à http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html
Démarrer Java avec java -classpath ojdbc14.jar ...
Pour inclure le pot téléchargé dans votre chemin de classe.
Autres conseils
Ajouter ojdbc6.jar
aux bibliothèques de projet. Tout d'abord, créez une nouvelle bibliothèque (NetBeans):
- NetBeans -> Outils -> Bibliothèques -> Nouvelle bibliothèque (Utilisez un nom descriptif, par exemple: Oraclejdbc6.)
- Cliquez sur D'ACCORD, alors Ajouter un pot / un dossier.
- Taper
%ORACLE_HOME%\jdbc\lib\ojdbc6.jar
, alors confirmez. Sur mon ordinateur,ORACLE_HOME=c:\app\admin\product\11.2.0\dbhome_1
.
Enfin, ajoutez la bibliothèque au projet: cliquez avec le bouton droit sur Bibliothèques, , sélectionner Ajouter la bibliothèque et sélectionnez la bibliothèque précédemment ajoutée.
Assurez-vous que le pilote Oracle est dans le chemin de classe. Le conducteur mince est dans OJDBC14.jar.