Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme de classe non trouvée

5 septembre 2020 à 9:15:32

Bonjour

j'ai essayé ce bout de code pour me connecter à une bdd oracle :

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class JDBCExample {

    public static void main(String[] args) {

        // https://docs.oracle.com/javase/8/docs/api/java/sql/package-summary.html#package.description
        // auto java.sql.Driver discovery -- no longer need to load a java.sql.Driver class via Class.forName

        // register JDBC driver, optional since java 1.6
        /*try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }*/

		// Oracle SID = orcl , find yours in tnsname.ora
        try (Connection conn = DriverManager.getConnection(
                "jdbc:oracle:thin:@localhost:1521:orcl", "system", "Password123")) {

            if (conn != null) {
                System.out.println("Connected to the database!");
            } else {
                System.out.println("Failed to make connection!");
            }

        } catch (SQLException e) {
            System.err.format("SQL State: %s\n%s", e.getSQLState(), e.getMessage());
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

Lorsque je compile et que j'execute :

javac JDBCExample.java
java JDBCExample

Il me marque :

SQL State: 08001
No suitable driver found for localhost:1521:orcl

Et lorsque je rajoute le jar ojdbc :

java -cp ojdbc8.jar JDBCExample

Il m'affiche :

Erreur : impossible de trouver ou charger la classe principale JDBCExample

Je ne comprends pas

Je précise que j'ai tous les fichiers dans un même dossier test : JDBCExample.java JDBCExample.class ojdbc8.jar

  • Partager sur Facebook
  • Partager sur Twitter
5 septembre 2020 à 13:16:13

bonjour,

le fait d'ajouter l'option -cp à l'exécution fait que la JVM ne sait plus que le classpath par défaut est le répertoire courant. il important de spécifier que le classpath est le dossier courant en ajout simplement un  point "."  .

-sous Mac ou Linux :

java -cp ojdbc8.jar:. JDBCExample


- sous Windows:

java -cp ojdbc8.jar;. JDBCExample



-
Edité par armel.mc 5 septembre 2020 à 13:16:55

  • Partager sur Facebook
  • Partager sur Twitter
5 septembre 2020 à 17:57:23

merci pour ta reponses

je suis sous windows mais j'utilise git bash pour lancer le java.

j'ai essayé :

java -cp ojdbc8.jar:. JDBCExample

et

java -cp ojdbc8.jar\;. JDBCExample

mais les deux ne fonctionnent pas

toujours la meme erreur

on est bien d'accord que pour la compilation le

javac JDBCExample.java

suffit ?


Et est-ce que ojdbc est bien compatible avec adoptopenjdk ?

-
Edité par Luzwitz 6 septembre 2020 à 10:07:18

  • Partager sur Facebook
  • Partager sur Twitter