|
Pessoal,
Tenho uma procedure que realiza
um select fazendo em seguida o tratamento do mesmo e retornando o resultado
encontrado por meio de um loop com o comando ORACLE dbms_output.put_line
(ex1).
ex1: OPEN c_Permissoes; LOOP FETCH c_Permissoes INTO r_cursor; EXIT c_Permissoes WHEN %NOTFOUND; dbms_output.put_line(rpad(v_id_modulo,11) || ' ' || rpad(v_no_modulo,61) || ' ' || rpad(v_id_form,11) || ' ' || rpad(v_no_form,50) || ' ' || rpad(v_no_form_resum,20) || ' ' || rpad(v _id_item,11) || ' ' || rpad(v_id_new,2) || ' ' || rpad(v_id_modify,2) || ' ' || rpad(v_id_delete,2) || ' ' || rpad(v_id_query,2) || ' ' || rpad(v_id_execute,2) ); END LOOP; CLOSE c_Permissoes; Tentei utilizar o
CallableStatement para recuperar o resultado (ex2) mas n�o
funcionou.
ex2: CallableStatement proce = conn.prepareCall("{call <procedure>}"); ResultSet rs = proce.executeQuery(); if(!rs.next()){ System.out.println("Vazio"); }else{ System.out.println("cheio"); } Tentei utilizar o
OracleCallableStatement (ex3) a� retornou o erro 'Recurso n�o
suportado'
ex3: OracleCallableStatement cstmt = (OracleCallableStatement)conn.prepareCall("{call <procedure>}"); int elemMaxLen = 250; int maxLen = 100; int elemSqlType = Types.VARCHAR; cstmt.registerIndexTableOutParameter(1, maxLen, elemSqlType, elemMaxLen); System.out.println("registerIndexTableOutParameterzou!!"); cstmt.execute(); String[] values = (String[])cstmt.getPlsqlIndexTable(1); for(int i=0; i<values.length; i++){ System.out.println(values); } Ser� que algum de voc�s j� passou por uma situa��o deste tipo para me ajudar? Ou ser� que algum de voc�s tem id�ia de como fa�o para alcan�ar o objetivo? Desde j� agrade�o a aten��o. Espero que algu�m possa me ajudar. ====================
Um abra�o... Rafael Esdras "Come�e fazendo o necess�rio, depois o que � poss�vel e, de repente, voc� estar� fazendo o imposs�vel." |
