Monday, September 8, 2008

java Code to Retrive ref cursor info

import java.sql.*;
import java.io.*;
import oracle.jdbc.driver.*;

public class GetCursor {
 public static void main(String[] args){
 int ret_code;
 Connection conn = null;
 try {
  //Load and register Oracle driver
  DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
 //Establish a connection

 conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.100.1:1521:server", "bond", "bond");

 String i_etype = "SENIOR";
 CallableStatement cstmt = conn.prepareCall("{ call REF_CURSOR_TEST. GET_ACCOUNTS_PROCEDURE(?)}");
 cstmt.registerOutParameter(1, OracleTypes.CURSOR);
 //cstmt.setString(2, i_etype);
 System.out.println("Before");
 cstmt.executeUpdate();
System.out.println("After");
 ResultSet rset;
 rset = ((OracleCallableStatement)cstmt).getCursor(1);
 String str = "";
 while (rset.next()){
  /*str += rset.getString(1)+" 
    "+ rset.getInt(2)+" 
    "+rset.getString(3)+" 
    "+rset.getFloat(4)+" 
    "+rset.getFloat(5)+" 
    "+rset.getInt(6)+"\n";
 byte buf[] = str.getBytes();
 OutputStream fp = new FileOutputStream("senior.lst");
 fp.write(buf);
 fp.close();*/
         System.out.println("Record\t"+"Value"+rset.getInt(1));
System.out.println("Record Value"+rset.getString(2));

 }
 rset.close();
 cstmt.close();
 conn.close();
  } 
  catch (Exception e) {
 /*ret_code = e.getErrorCode(); 
      System.err.println(ret_code + e.getMessage()); conn.close();*/
 }
 /*  catch (IOException e) { System.err.println
      ("Java File I/O Error:"+ e.getMessage()); }*/
 }
}

No comments: