java调用ORACLE存储过程

来源:互联网 发布:mysql 修改字段注释 编辑:程序博客网 时间:2024/06/06 06:31

一、code fragment

CallableStatement cs =null;        try {            cs = conn.prepareCall("{call detector_plsql_exception(?,?,?,?)}");            cs.setString(1, "31");            cs.registerOutParameter(2, Types.VARCHAR);            cs.registerOutParameter(3, Types.VARCHAR);            cs.registerOutParameter(4, Types.VARCHAR);            cs.execute();            String v_dname = cs.getString(2);            String v_code = cs.getString(3);            String v_msg = cs.getString(4);                        System.out.println("v_dname:"+v_dname+",v_code:"+v_code+",v_msg:"+v_msg);        } catch (SQLException e) {            e.printStackTrace();        } finally{            try{                if(cs != null)                    cs.close();                    cs = null;                }catch(Exception e){                                    }            try{            if(conn != null)                conn.close();                conn = null;            }catch(Exception e){                            }        }
Note:其中存储过程中有模式为OUT参数时,在执行存储过程之前,必须先注册OUT参数的类型:

cs.registerOutParameter(2, Types.VARCHAR);cs.registerOutParameter(3, Types.VARCHAR);cs.registerOutParameter(4, Types.VARCHAR);

..

0 0
原创粉丝点击