存储过程大致如下:  
 
Type  retstring  is  Record  
(  
           a      varchar2(6),              
           b      varchar(10)      
);  
 
type  retstr  is  table  of  retstring  index  by  BINARY_INTEGER;  
 
procedure  getStr(  ret  out  retstr  )is  
begin  
 ...  
 loop  
     ret(i).a  :=  a1;  
     ret(i).b  :=  b1;  
 end  loop;  
 ...  
end;  
 
然后在java中调用该过程, ,在java中如何定义这样的变量得到ret的值 ?
 
 
请指教!!  

解决方案 »

  1.   

    关注一下,我用
        cs.registerOutParameter(3,oracle.jdbc.OracleTypes.OTHER);//输出参数
    都不行
    不过,因为cs.registerOutParameter(index,type) 后的type为一int
    而oracle的自定义类型(就像上面的retstr)肯定存在某一系统表中,且有一个固定的int ID
    所以我认为,只要将此ID作为cs.registerOutParameter(index,type)中的type就可以调用该procedure
    至于返回值可通过JAVA的强制类型转换得到