大家好:
我在做java oracle数据库连接的时候遇到了一些问题,代码如下:import java.sql.*;
import oracle.jdbc.*;class JDBCTest
{
public static void main(String args[]) 
   {
       try{
           Class.forName("oracle.jdbc.driver.OracleDriver");
     
//我现在自己做服务器,没有再安装客户端,URL里面的参数该怎么设置呢?
//这个是用客户端的一个实例
           Connection conn = DriverManager.getConnection 
                             ("jdbc:oracle:oci:@ppjjmm","scott","tiger"); 
           Statement statement = conn.createStatement();
           ResultSet resultSet = statement.executeQuery("select * from emp");
          }catch(Exception exception) 
           {System.out.println(exception);}
   }
}
编译后出现java.lang.NoClassDefFoundError: TestDataIO Exception in thread "main"
网上查了以后,觉得可能是class_path问题,设置如下 
G:\j2sdk1.4.2\lib\tools.jar;G:\oracle\ora90\jdbc\lib\classes12.zip
也不知错在哪里,望大家能够一起帮忙看一下

解决方案 »

  1.   

    我把class_path中的oracle路径现在改成了G:\oracle\ora90\jdbc\lib\classes12.jar,但仍然报错
    java.lang.NoClassDefFoundError: TestDataIO Exception in thread "main"
      

  2.   

    这个帖子下有一样的错误,但是我还是不知道怎么解决啊?望大家帮忙http://community.csdn.net/Expert/topic/4962/4962452.xml?temp=.5037195
      

  3.   

    Connection conn =  DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ppjjmm","scott","tiger"); 
    我做了修改,仍然报错:java.lang.NoClassDefFoundError: TestDataIO Exception in thread "main"
      

  4.   

    如果是noclass的话,是你这个类编译未通过,确保程式无编译错误,
      

  5.   

    我在C/S情况下,创建一个数据源能够连接ORACLE数据库。
    当改为B/S时,我也跟楼主一样。同样的问题。
    我用的是myeclipse+tomcat5.17+oracle9i;连接的时候弹出一个对话框(像登陆路由器的对话框)要求输入“用户名”和“密码”。我输入了数据库登陆的用户名跟密码不行,我该输入什么?
    另外:我只启动tomcat的话,在浏览器上输入:http://127.0.0.1:8080能够看到小猫出来;但是,当连接oracle的时候就出现上面所说的对话框了。
    哪位高手知道怎么解决问题?谢谢
      

  6.   

    楼上的把tomcat的端口改成8088试试。tomcat和oracle9i似乎会在8080端口上发生冲突。
      

  7.   

    我当年连接oracle9i的代码如下:import java.io.*;
    import java.sql.*;
    import java.util.*;
    import oracle.jdbc.driver.OracleDriver;public class test{
    public static void main(String args[]){
    try{
    Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:TEST","test","test");
    Statement stmt=conn.createStatement();
    ResultSet rs=stmt.executeQuery("select * from Test");
    rs.close();
    stmt.close();
    conn.close();
    }
    catch(Exception exc){
    exc.printStackTrace();
    }
    }
    }我用的oracle驱动是oracle9i自带的ojdbc14.jar,我做测试的时候,直接把jar包解压到test.java文件所在的目录下了。
      

  8.   

    谢谢大家啦,我解决这个问题了:
    1.oracle class path 须设对。
    2.可在eclipse中倒入oracle的classes12.jar
    3.我的代码如下:import java.sql.*;
    import oracle.jdbc.driver.*;
    import oracle.jdbc.*;class JDBCTest{
    public static void main(String args[]) 
    {
        try{
            Class.forName("oracle.jdbc.driver.OracleDriver");
         
    //关键是这句话,
    //如果我现在自己做服务器,不用客户端,URL里面的参数该怎么设置呢?
    //这个是用客户端的一个实例
    Connection conn =  DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ppjjmm","scott","tiger"); 
    Statement statement = conn.createStatement();
    ResultSet resultSet = statement.executeQuery("select * from emp");
    while(resultSet .next())
    {
        System.out.println(resultSet.getInt("EMPNO"));
    }
    }
    catch(Exception exception) {
    System.out.println(exception);
    }
    }
    }