CallableStatement cs = con.prepareCall("{call EBT_TELACORE_CAT.EBT_TELACORE_IDENT_BASE01(?)}");
cs.setInt(1, 1); //parâmetro 1 - tipo
cs.setString(2, “07713688887”); //parâmetro 2 - documento
cs.registerOutParameter(3,java.sql.Types.VARCHAR); //parâmetro 3 q é out - tenho q converter esse java.sql.Types.VARCHAR para um tipo de variável REF CURSOR do Oracle. Como faço isso?
Amigão, coloquei o oracleJDBC.jar no class path, estou usando IDE NetBeans e mesmo assim está dando o seguinte erro: package oracle.jgbl does not exist
tem alguma solução, acho que essa é a melhor maneira para resolver o meu problema.
a outra solução seria criar um pl-sql e jogar para o java, só que está sua solução foi show de bola, o único problema e colocar pra funcionar…
Trabalho com Eclipse e tive que incluir a API do Oracle JDBC (oraclejdbc.jar) em:
–> Propriedades do projeto
–> Caminho de construção Java
–> Bibliotecas
–> Incluir JARs externos
[quote=“eaduarte”][quote=“dgomesbr”]
Amigão, coloquei o oracleJDBC.jar no class path, estou usando IDE NetBeans e mesmo assim está dando o seguinte erro: package oracle.jgbl does not exist
tem alguma solução, acho que essa é a melhor maneira para resolver o meu problema.
[/quote]
Trabalho com Eclipse e tive que incluir a API do Oracle JDBC (oraclejdbc.jar) em:
–> Propriedades do projeto
–> Caminho de construção Java
–> Bibliotecas
–> Incluir JARs externos[/quote]
Só que o valor de mensagem está sendo null, quando na realidade tinha q vir alguma coisa…
tem alguma dica.[/quote]
Para referenciar um REF CURSOR no Java vc deve utilizar o método getObject() e fazer um CAST p/ o ResultSet e depois utilizar o getString p/ capturar o valor de cada campo.
Exemplo:
ResultSet rs = (ResultSet) cs.getObject(3);
while (rs.next()) {
System.out.println(cs.getString("item"));
System.out.println(cs.getString("descricao"));
}
// Nesse exemplo o REF CURSOR retorna os campos "item" e "descricao"
// através da consulta:
// SELECT item, descricao
// FROM cad_itens;