我用eclipse编程环境连接oracle9.2.0.1.0,我的java源代码如下:
package cbq;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class conoracle {
public static void main(String arg[])
{
try 
{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc.oracle.ora9i";
Connection conn = DriverManager.getConnection(url,"system","system");
Statement stmt=conn.createStatement();
String qstr="select * from tab";
ResultSet rs=stmt.executeQuery(qstr);
while (rs.next())
{
String tname=rs.getString("tname");
System.out.println(tname);
}
rs.close();
stmt.close();
conn.close();
}
catch(SQLException sqle)
{
System.out.println(sqle.getMessage());
System.out.println(sqle.getSQLState());
}
catch(Exception e)
{
e.printStackTrace();
}
};}
环境变量如下配置:
classpath=.
path=C:\Program Files\Java\jdk1.5.0_03\bin;C:\oracle\ora92\bin;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
我在编译这个文件时没有抱错,我在执行这个文件时java cbq.conoracle出现如下错误:
java.lang.ClassNotFoundException: oracle.jdbc.driver.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:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:164)
        at cbq.conoracle.main(conoracle.java:14)
请问我该怎么解决,我还需要单独安装JDBC吗,要是安装我在那能找到JDBC,如果代码写的不对(特别是oracle连接串),请帮我改正一下好吗。我是个初学者,能说的详细一些吗。谢谢!!!

解决方案 »

  1.   

    把Oralce的ojdbc14.jar放到web-inf\lib 下面
      

  2.   

    在工程--属性--builderpath-liberary-addjar 加入oracle的驱动jar文件就可
    再着,url应该是jdbc:oracle:thin:@localhost:1521:databasename
      

  3.   

    将oracle\jdbc\lib目录下的classes12.zip文件加入到工程中.另外你的url写的有问题, red_ccn(鲲哥)给出了正解,我就不复述了.
      

  4.   

    请问oracle的jar文件时ojdbc14.jar吗,我把这个加上了,怎么还出现这个错误。
    java.lang.ClassNotFoundException: oracle.jdbc.driver.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:306)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Class.java:164)
            at cbq.conoracle.main(conoracle.java:14)
      

  5.   

    我已将oracle\jdbc\lib目录下的classes12.zip文件加入到工程中,但还是出现这个错误
    java.lang.ClassNotFoundException: oracle.jdbc.driver.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:306)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Class.java:164)
            at cbq.conoracle.main(conoracle.java:14)
      

  6.   

    url应该是jdbc:oracle:thin:@localhost:1521:databasename
      

  7.   

    以上的方法我都试了,问题还是那样呀,谁能救救我呀,在线等。
    java.lang.ClassNotFoundException: oracle.jdbc.driver.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:306)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Class.java:164)
            at cbq.conoracle.main(conoracle.java:14)
      

  8.   

    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); 
    String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID 
    String user="test"; 
    String password="test"; 
    Connection conn= DriverManager.getConnection(url,user,password);
      

  9.   

    我用eclipse编程环境连接oracle9.2.0.1.0,我的java源代码如下:import java.sql.*;public class ConOra {
    public static void main(String arg[])
    {
    try 
    {
    Class.forName("oracle.jdbc.Driver.OracleDriver").newInstance();
    String url="jdbc:oracle:thin:@10.24.4.205:1521:ora9i";
    String user="yz";
    String password="yzyz";
    Connection conn = DriverManager.getConnection(url,user,password);
    Statement stmt=conn.createStatement();
    String qstr="select * from tj_zjb";
    ResultSet rs=stmt.executeQuery(qstr);
    while (rs.next())
    {
    String tname=rs.getString("gdm");
    System.out.println(tname);
    }
    rs.close();
    stmt.close();
    conn.close();
    }
    catch(SQLException sqle)
    {
    System.out.println(sqle.getMessage());
    System.out.println(sqle.getSQLState());
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    };}
    环境变量如下配置:
    classpath=.
    path=C:\Program Files\Java\jdk1.5.0_03\bin;C:\oracle\ora92\bin;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
    我在编译这个文件时没有抱错,我在执行这个文件时java cbq.conoracle出现如下错误:
    java.lang.ClassNotFoundException: oracle.jdbc.driver.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:306)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Class.java:164)
            at cbq.conoracle.main(conoracle.java:14)
    我按上面几位老兄的指点我试了一下,但还是不行,问题还是出现错误都一样,请问我怎么确定1521
    的端口号。在线等待!!!谢谢。
      

  10.   

    将oracle\jdbc\lib目录下的classes12.zip文件加入到工程中
      

  11.   

    classerl2.zip 我也试了,还是出错。错误都一样。
      

  12.   

    1、你的客户端的oracle是什么版本,加入的classerl2.zip要用本地客户端oracle版本的
    2、可能是url的问题,10.24.4.205:1521:ora9i,确认ora9i是客户端服务名,还是数据库服务名下面有个例子,作为借鉴看看吧import java.sql.*;class Employee
    {
     public static void main (String args [])
          throws SQLException
     {
       DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
       String url = "jdbc:oracle:thin:@192.168.0.9:1521:orcl";
       String userName = "scott";
       String password = "tiger";   if (args.length > 0) url = args[0];
       if (args.length > 1) userName = args[1];
       if (args.length > 2) password = args[2];   Connection conn =
         DriverManager.getConnection (url, userName, password);   Statement stmt = conn.createStatement ();
       ResultSet rset = stmt.executeQuery ("select ENAME from EMP");   while (rset.next ())
         System.out.println (rset.getString (1));
     }
    }
      

  13.   

    最好安装JRE1.4.2试试,oracle的这几个版本对1.5支持的不是非常的好另外建议一下写法,环境变量如下配置:
    classpath=.
    path=C:\PROGRA~1\Java\jdk1.5.0_03\bin;C:\oracle\ora92\bin;C:\PROGRA~1\Oracle\jre\1.3.1\bin;C:\PROGRA~1\Oracle\jre\1.1.8\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
      

  14.   

    谢谢sunray1977() ,问题已解决了。非常感谢。