Netbeans与Oracle连接java.lang.ClassNotFoundException

时间:2009-08-21 11:27:16

标签: java netbeans jdbc netbeans6.5

我使用NetBeans 6.5。

当我尝试运行以下代码时:

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.");
        }
  }
}

我收到此错误:

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.

如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

问题:Java无法找到JDBC驱动程序类 解决方案:将Oracle JDBC驱动程序添加到类路径中 您可以在http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html

获取

使用java -classpath ojdbc14.jar ...启动java,将下载的jar包含在类路径中。

答案 1 :(得分:1)

ojdbc6.jar添加到项目库中。首先,创建一个新库(NetBeans):

  • NetBeans - >工具 - >图书馆 - >新库(使用描述性名称,例如:OracleJDBC6。)
  • 点击确定,然后添加JAR /文件夹
  • 输入%ORACLE_HOME%\jdbc\lib\ojdbc6.jar,然后确认。在我的计算机上ORACLE_HOME=c:\app\admin\product\11.2.0\dbhome_1

最后,将库添加到项目中:右键单击 Libraries ,选择添加库并选择之前添加的库。

答案 2 :(得分:0)

确保Oracle驱动程序位于类路径中。瘦驱动程序位于ojdbc14.jar。