[转载]java 调用oracle存储过程

1、存储过程为
  CREATE OR REPLACE PROCEDURE TESTB(PARA1 IN VARCHAR2,PARA2 OUT VARCHAR2) AS
  BEGIN
  SELECT INTO PARA2 FROM TESTTB WHERE I_ID= PARA1;
  END TESTB;
  2、JAVA代码
  public class TestProcedureTWO {
  public TestProcedureTWO() {
  }
  public static void main(String[] args ){
  String driver = "oracle.jdbc.driver.OracleDriver";
  String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521:ctbu";
  Statement stmt = null;
  ResultSet rs = null;
  Connection conn = null;
  try {
  Class.forName(driver);
  conn = DriverManager.getConnection(strUrl, "dbname", "password");
  CallableStatement proc = null;
  proc = conn.prepareCall("{ call HYQ.TESTB(?,?) }");
  proc.setString(1, "100");
  proc.registerOutParameter(2, Types.VARCHAR);
  proc.execute();
  String testPrint = proc.getString(2);
  System.out.println("=testPrint=is="+testPrint);
  }
  catch (SQLException ex2) {
  ex2.printStackTrace();
  }
  catch (Exception ex2) {
  ex2.printStackTrace();
  }
  finally{
  try {
  if(rs != null){
  rs.close();
  if(stmt!=null){
  stmt.close();
  }
  if(conn!=null){
  conn.close();
  }
  }
  }
  catch (SQLException ex1) {
  }
  }
  }
  }
  }
posted @ 2011-06-25 11:55  刘竹青  阅读(96)  评论(0编辑  收藏  举报