java调用oracle存储过程报错

来源:百度知道 编辑:UC知道 时间:2024/06/07 21:54:54
我的存储过程: PERSON_INFO
code in varchar, //入参
cursor out redt_dict.mdc_types.MDC_CURSOR //出参

--------- 以下是我调用,但是报PLS-00306: 调用 'PERSON_INFO' 时参数个数或类型错误
ORA-06550: 第 1 行, 第 7 列: --------------------

ResultSet rs;
Connection conn=oBhelp.getconnect(); //获取连接
CallableStatement proc=null;
try {
proc=conn.prepareCall("{? = call Person_Info(?)}");
proc.setString(1, name);
proc.registerOutParameter(2, OracleTypes.CURSOR);
proc.execute()
rs=(ResultSet)proc.getObject(2);

照葫芦画票吧

public String getTotalInfo(final long bid)
{
return (String)this.getHibernateTemplate().execute(new HibernateCallback(){

public Object doInHibernate(Session session)
throws HibernateException, SQLException {
// TODO Auto-generated method stub
CallableStatement cs=session.connection().prepareCall("{call bidcross(?,?)}");
cs.setLong(1, bid);
cs.registerOutParameter(2, Types.VARCHAR);
cs.execute();
return cs.getString(2);
}
});
}