|
Alberto,
Muit�ssimo obrigado pelas
dicas.
Resolvemos o problema fazendo
uma fun��o que retorna um ARRAY exatamente como nos exemplos que vc
enviou.
Valeu cara!!
==================== 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."
-----
Original Message ----- From: Alberto Yano To: [EMAIL PROTECTED] Sent:
Monday, March 18, 2002 7:24 PM Subject: RES: [java-list] (URGENTE)
Recuperando valores de um select via procedure.
Talvez isso
resolva.... http://www.enterprisedt.com/publications/oracle/result_set.html
http://javait.net/java/java_forum/174-1.topic.html
Alberto
Yano Analista / Desenvolvedor Pleno Ger�ncia Geral de Informa��o -
GGINF Ag�ncia Nacional de Vigil�ncia Sanit�ria -
ANVISA Brazilian National Agency for Health
Surveillance Fone/Phone: 55-61-448 1218 Fax: 55-61-448 1362 http://www.anvisa.gov.br
Atenciosamente,
-----Mensagem
original----- De: Rafael Esdras [mailto:[EMAIL PROTECTED]] Enviada em:
segunda-feira, 18 de mar�o de 2002 15:54 Para: java-list Assunto:
[java-list] (URGENTE) Recuperando valores de um select
via procedure.
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."
|