这句DriverManager.registerDriver( new oracle.jdbc.driver.OracleDriver());
它说oracle can not resolved to a type。
要怎么解决呢?这是存储过程
CREATE OR REPLACE PROCEDURE SHOWBIR(
V_ROW IN OUT NUMBER)
AS
  CURSOR C_BIR IS SELECT * FROM BIR FOR UPDATE;
  V_TMP BIR%ROWTYPE;
BEGIN
  OPEN C_BIR;
  LOOP
    FETCH C_BIR INTO V_TMP;
    EXIT WHEN C_BIR%NOTFOUND;
    --EXIT WHEN V_ROW > 3;
    V_ROW := V_ROW+1;
   --DBMS_OUTPUT.PUT_LINE(V_TMP.NAME ||' '|| V_TMP.LEV);
   IF V_TMP.LEV <= 1 THEN 
     UPDATE BIR SET LEV = 100 WHERE CURRENT OF C_BIR;
   END IF;
  END LOOP;
  CLOSE C_BIR;
END;
java调用,202.116.17.140:1521:ORCL","SYSTEM","posa"分别是ip地址,posa是密码。import java.sql.* ;
import java.sql.ResultSet; public class TEST_UPDATE
{
public static void main(String args[]) throws Exception
{
// 加载Oracle驱动 
DriverManager.registerDriver( new oracle.jdbc.driver.OracleDriver());
// 获得Oracle数据库连接 
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@202.116.17.140:1521:ORCL","SYSTEM","posa");
// 创建存储过程的对象 
CallableStatement c = conn.prepareCall( " {call SHOWBIR(?)} " );
// 给Oracle存储过程的参数设置值 ,将第一个参数的值设置成6 
c.setInt( 1 , 6 );
// 执行Oracle存储过程 
c.execute();
conn.close();
}
}

解决方案 »

  1.   

    你的驱动的jar包倒进来了吗
      

  2.   

    应该把oracle的驱动jar拷贝到你的工程lib
      

  3.   

    如果你用的eclipse创建的java工程,直接把你安装oracle的文件夹下的oracle\product\10.2.0\db_2\jdbc\lib classes12.jar 文件拷到你工程的lib文件夹就行;
    如果你用dos运行,就把class12.jar的路径放到classpath中,比如你把class12.jar复制到d:\ora文件夹中,就把d:\ora\class12.jar放到classpath中
      

  4.   


    还是不行,还是提示oracle can not resolved to a type。
      

  5.   

    DriverManager.registerDriver( new oracle.jdbc.driver.OracleDriver());
    这句 提示oracle can not resolved to a type。
      

  6.   

    你倒进去了?那你重启下eclipse看看,我觉得就是你数据库驱动的问题
      

  7.   

    对了,你按照第二种方法,把jar包的路径倒进classpath试一试
      

  8.   

    eclipse导入外部包的方式:
    1、打开你的项目。
    2、菜单Project->Properties->Java Build Path->Libaraies->Add External JARs...
    3、找到oracle下的classes12.jar,增加进来就OK了。
      

  9.   

    在工程里点右键,选择build path ----> configure build path ----> Libraries选项卡
    ---->add External JARs..
      

  10.   


    谢谢这么耐心啊,不过还是不行。
    Multiple ers at this line
    - oracle cannot be resolved to 
     a type
    - Debug Current Instruction 
     Pointer
    是导进classpath.lst吧,导进后这样
    #
    # this is the extra classpath used by integrator
    #
    # each classpath should be in the form of complete pathname 
    #
    # For example:
    #   /emdRoot/sysman/jlib/emd.jar
    #   /emdRoot/lib/xmlparserv2.jar
    #
    F:\oracle\product\10.2.0\db_1\jdbc\lib\class12.jar
      

  11.   

    我的电脑 右键 属性 高级 环境变量 在系统变量中新建个classpath,把F:\oracle\product\10.2.0\db_1\jdbc\lib\class12.jar复制进去
      

  12.   


    太感谢了,现在出现这样的东西。。
    at java.sql.DriverManager.getConnection(DriverManager.java:200)
    at TEST_UPDATE.main(TEST_UPDATE.java:11)
    不知道干嘛?
      

  13.   

    其实我很想问我这句有没有错:Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@202.116.17.140:1521:ORCL","SYSTEM","posa");
      

  14.   

    Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@202.116.17.140:1521:ORCL","SYSTEM","posa");
    没有错误
      

  15.   

    202.116.17.140是oracle服务器的地址,如果是你自己机器上的为127.0.0.1
    还有就是你存储过程在你oracle的哪个用户下?密码是什么?
    改完为Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1
    :1521:ORCL","你存储过程创建在哪个用户","密码是什么?");
    就行了