2010-08-07 3 views
0

Salut les amis je suis face à l'erreur suivante en essayant de se connecter à une base de données via le code java:faire exception classe non trouvée

Exception in thread "Main Thread" java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:169) 
at com.example.model.Driver.main(Driver.java:13) 

Mon code java est:

package com.example.model; 

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

public class Driver { 
    public static void main(String args[]) throws ClassNotFoundException, 
    SQLException { 

     Class.forName("oracle.jdbc.OracleDriver"); 
     // or you can use: 
     // DriverManager.registerDriver(
     // new oracle.jdbc.driver.OracleDriver()); 
     Connection conn = DriverManager.getConnection(
     "jdbc:oracle:thin:@127.0.0.1:1521:ORCL", "scott", "tiger"); 

     Statement stmt = conn.createStatement(); 
     ResultSet rset = stmt.executeQuery("select * from customer"); 
     while (rset.next()) 
      System.out.println(rset.getString(1)); 
     rset.close(); 
     stmt.close(); 
     conn.close(); 
    } 
} 

Comme par je suis venu le savoir pourrait être dû au problème de chemin de classe mais ne savent pas comment le résoudre. Je mis mon chemin de classe à

C:\bea\user_project\workspace\wlserver_10.3\server\ext\jdbc\oracle\11g\ojdbc5.jar; 

J'utilise l'espace de travail weblogic 10.3 et serveur weblogic 10.3.

+0

votre code est impossible à lire. Veuillez le mettre en retrait correctement (4 espaces pour le marquer comme code). –

Répondre

1

Je vais essayer de le mettre dans le dossier lib du weblogic ... et redémarrez le serveur, vous serez sûr qu'il est un problème de classpath ...

Vous devez télécharger les pilotes d'oracle d'Oracle et placer le fichier .jar dans le CLASSPATH du projet ...

Vous pouvez le télécharger à Oracle's drivers download page

+0

Il semble que l'OP ne fonctionne pas dans WebLogic (et en fait, WebLogic a déjà un pilote oracle dans '$ WL_HOME/server/lib') –

+0

[J'ai essayé celui-ci, J'espère que cela aidera] (http://stackoverflow.com/questions/7631758/comment connecter le sql-server-using-jtds-driver-in-android/13512108 # 13512108)! – smkrn110

2

le java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver signifie sans aucun doute que la classe mentionnée est pas sur le chemin de la classe. Et parce que ojdbc5.jar l'a, toute la question est: "comment avez-vous défini votre classpath"?

Voici ce que je reçois sur ma machine en utilisant votre code (en utilisant le package par défaut):

 
$ cat > Driver.java 
... 
$ javac Driver.java 
$ java -cp /home/pascal/opt/Oracle/Middleware/wlserver_10.3/server/ext/jdbc/oracle/11g/ojdbc5.jar:. Driver 
Exception in thread "main" java.sql.SQLException: The Network Adapter could not establish the connection 
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70) 
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131) 
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:197) 
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:525) 
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:413) 
    at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:508) 
    at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:203) 
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33) 
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510) 
    at java.sql.DriverManager.getConnection(DriverManager.java:582) 
    at java.sql.DriverManager.getConnection(DriverManager.java:185) 
    at Driver.main(Driver.java:15) 
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection 
    at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:328) 
    at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:421) 
    at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:634) 
    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:208) 
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:966) 
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:292) 
    ... 7 more 
Caused by: java.net.ConnectException: Connection refused 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) 
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) 
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) 
    at java.net.Socket.connect(Socket.java:529) 
    at java.net.Socket.connect(Socket.java:478) 
    at java.net.Socket.(Socket.java:375) 
    at java.net.Socket.(Socket.java:189) 
    at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:127) 
    at oracle.net.nt.ConnOption.connect(ConnOption.java:126) 
    at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:306) 
    ... 12 more 

Le pilote se trouve (je reçois une exception parce que je ne suis pas en cours d'exécution tout serveur Oracle mais est une autre histoire).

Questions connexes