Classe d'Oracle non trouvée
Bonjour,
J'ai récupéré un vieux script Shell que j'essaie d'adapter à ma configuration mais je rencontre ce message d'erreur :
Citation:
Echec d'ouverture de la base : oracle.jdbc.driver.OracleDriver
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
Dans le script Shell, j'ai ceci :
Code:
1 2 3 4 5 6
| export JAVA_HOME=/Bases/oracle/product/11.2.0/dbhome_1/jdk
export PATH=/Bases/oracle/product/11.2.0/dbhome_1/jdk/bin:$PATH
export CLASSPATH=$CLASSPATH:/Bases/oracle/product/11.2.0/dbhome_1/jdk/lib:./Bases/oracle/product/11.2.0/dbhome_1/jdbc/lib/ojdbc5.jar:.
$JAVA_HOME/bin/javac ExportLdifPersonnel.java
$JAVA_HOME/bin/java -Dfile.encoding=UTF-8 ExportLdifPersonnel |
Et c'est cette dernière commande qui donne le message d'erreur.
Le programme Java contient ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
public class ExportLdifPersonnel {
// ====== Parametres de connexion a la base de donnees ======
private static final String jdbcURL = "jdbc:oracle:thin:@unServerOracle:1521:uneBDD";
private static final String jdbcUser = "unUser";
private static final String jdbcPass = "unMdp"; |
Et plus loin :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| private static void openDatabase(String url,String login,String password)
{
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(url,login,password);
}
catch(Exception e)
{
System.out.println("Echec d'ouverture de la base : "+e.getMessage());
e.printStackTrace();
}
} |
Je soupçonne que c'est la définition du CLASSPATH dans le script Shell qui pose problème mais après plusieurs tentatives, je suis toujours en échec.
Une suggestion ?
EDIT : J'ai trouvé !
Code:
export CLASSPATH=$CLASSPATH:/Bases/oracle/product/11.2.0/dbhome_1/jdk/lib:/Bases/oracle/product/11.2.0/dbhome_1/jdbc/lib/ojdbc5.jar:.
J'avais un point en trop entre les deux chemins du CLASSPATH. :oops: