java调用ORACLE 存储过程返回值22

存储过程代码如下:  
  create   or   replace   package   mysp   is  
      type   refcursor   is   ref   cursor   return   MEIGARA_INFO2%ROWTYPE;  
      procedure     mytest(mycur   in   OUT   refcursor);  
  end   mysp;  
   
  create   or   replace   package   body   mysp   is  
      procedure     mytest(mycur   in   OUT   refcursor)IS  
          begin          
          open   mycur   for                
                  SELECT   *       FROM   MYTABLE;      
      end   mytest;  
  end   mysp;  
   
  /  
  jsp如下:  
  <%@   page   contentType="text/html;   charset="SHIFT_JIS""%>    
  <%@   page   language="java"     import="java.sql.*,java.io.*,javax.naming.*,javax.sql.*,java.lang.*,java.util.*,java.text.*"   %>  
   
   
  <%  
  String   sta;  
  String   sql   =   "{call   mysp.mytest(?)}";  
  try  
  {  
  Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();  
        String   url="jdbc:oracle:thin:@202.118.44.105:1521:SVER";  
        String   user="MY";    
        String   password="MY";  
        Connection   conn   =   DriverManager.getConnection(url,user,password);    
  CallableStatement     mycs   =   conn.prepareCall(sql);  
  mycs.registerOutParameter(1,Types.OTHER);  
  mycs.execute();            
   
                    ResultSet   rs   =   (ResultSet)mycs.getObject(1);  
  while(rs.next()){  
  sta   =   rs.getString(1);  
  out.println("   status   is   :"   +sta);  
  }  
  mycs.close();  
  rs.close();  
  conn.close();  
  }  
  catch   (Exception   e)  
  {  
  out.print(e);  
  }  
  %>  
  这段代码有问题麽,怎么老是不对呢?请大家帮忙看看。   
 

你可能感兴趣的:(JAVA类)