其实jdbc下面的lib目录里头才是驱动
一般是classes12.zip和nls_charset12.zip
你可以看jdbc目录下的说明文件
如何连接都有至于怎么操作表,还是看看jdbc的书或者资料比较清楚一些

解决方案 »

  1.   

    我用的是class12.jar,给你一个例子:
    //File Demo1.java
    import java.sql.*;
    import java.io.*;
    import java.util.*;public class Demo1
    {
    public static void main(String[] args)
    {
    try
    {
                 String url = "jdbc:oracle:thin:@192.168.16.68:1521:ORA816";
    //注册驱动器
                DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    DriverManager.setLoginTimeout(1);            //建立数据库连接
                Connection con = DriverManager.getConnection(url, "dwl", "jingyi");
                //创建statement
                Statement stmt = con.createStatement(); //1、删除数据(不带参数)
    String del_row = "delete from emp";
                int ret = stmt.executeUpdate(del_row);
                System.out.println("删除记录条数:" + ret); //2、简单插入数据
    int i;
    for(i=0;i<9;i++){
                  String ins_row = "insert into emp values ('" + "dwl_" + i + "'," + i + ")";
                  stmt.executeUpdate(ins_row);
    } //3、删除数据(带参数)
    int eno = 2;
    String del2_row = "delete from emp where eno=" + eno;
    ret = stmt.executeUpdate(del2_row);
                System.out.println("删除记录条数:" + ret); //4、查询数据,返回结果集
    String sel_row = "select * from emp order by eno";
    ResultSet result = stmt.executeQuery(sel_row);
    while(result.next()){
    // System.out.println(result.getInt("eno") + " " + result.getString("ename"));
    System.out.println(result.getInt(2) + " " + result.getString(1));
    } stmt.close(); //5、调用存储过程(无参数)
    String call_p = "call my_procedure_1()";
    CallableStatement call_stmt = con.prepareCall(call_p);
    call_stmt.executeUpdate();
    call_stmt.close(); //6、调用有参数的存储过程
    String call_p2= "call my_procedure_4(?, ?, ?)";
    CallableStatement call_stmt2 = con.prepareCall(call_p2);
    call_stmt2.setString(1, "dwl");
    call_stmt2.setInt(2, 1);
    call_stmt2.registerOutParameter(3, Types.NUMERIC);
    call_stmt2.executeUpdate();
    eno = 23;
    eno = call_stmt2.getInt(3);
    System.out.println(eno);
    call_stmt2.close(); con.commit();
                con.close();
    }
    catch(SQLException ex)
    {
    System.out.println(ex);
            }
    }
    };
      

  2.   

    http://www.csdn.net/expert/topic/670/670716.xml?temp=.6445276
      

  3.   

    我按jdbc目录中的readme文件中所说的,在classpath中加了D:\Oracle\Ora81\jdbc\lib\classes12.zip;D:\Oracle\Ora81\jdbc\lib\nls_charset12.zip,在path中加了D:\Oracle\Ora81\jdbc\lib;程序如下:
    import java.sql.*;public class a{
    public static void main (String[] args) throws SQLException{
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
            Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@bank:1521:bank","bank", "bank");
    Statement stmt = conn.createStatement ();
    ResultSet rset = stmt.executeQuery ("select Measure_Desc from Analysis_Measure");
    while (rset.next ()) {
    System.out.println (rset.getString (1));
    }
    }
    }但在运行时为什么报:
    Exception in thread "main" java.lang.NoClassDefFoundError: oracle/jdbc/driver/OracleDriver ?
    是不是jdbc没注册上?该怎么处理?
      

  4.   

    你的驱动没有找到!你再确认一下你的classpath中的确把class12.zip包括了进来!可以在cmd中用set命令,看看classpath中的具体内容。
      

  5.   

    是classes12.zip吧,可我的确已经包进来了,用set可以看到。怎么回事?
      

  6.   

    我知道了,因为我的.class文件不在classpath设置中,可能是我运行时加了-classpath把系统中设置的classpath覆盖了吧。怎么才能保留系统classpath基础上再加上自己的classpath呢?
    回答了就结帐。谢谢。
      

  7.   

    把你运行时的命令集写成一个.bat或.cmd文件。给你个例子吧!
    set JDK_HOME=c:\jdk1.3.1set classpath=%classpath%;(这里写你自己想加入的classpath)set java=%JDK_HOME%\bin\java%java% -classpath %classpath% (这里写你运行的class名)
      

  8.   

    JBuilder用的不是操作系统的Classpath,所以加在Classpath中没有用。
    应该将web工程中加上需要的需要的库,Project-Project properties-paths-Required Libraries中加上需要包。另外tomcat可能不认.zip的包,应该改为.jar。