Retornar dados de uma procedure REF CURSOR X JAVA - erro índice de coluna invalido

1 resposta
dudzjava

Pessoal , estou tendo dificuldade de encontrar o erro neste código: Estou querendo pegar dados de uma procedure :

CallableStatement cstmt = conn.prepareCall("{call PKG_NAVEGADOR.DIRETORA_FLUXO(?,?,?)}");
            cstmt.setString(1, "ET");
            cstmt.setString(2, "3114001");
            cstmt.registerOutParameter(3, OracleTypes.CURSOR);
            cstmt.executeQuery();
            rs = (ResultSet)cstmt.getObject(4);
            List estacaoTel = new ArrayList();
            while(rs.next()) {
                estacaoTel.add(rs.getString("nome_estacao"));
            }
            rs.close();
            cstmt.close();
            return estacaoTel;

os parâmetros da procedure:

PROCEDURE DIRETORA_FLUXO(P_SIGLA   IN VARCHAR2,
                           P_FILTRO  IN VARCHAR2,
                           P_RETORNO OUT R_CURSOR);

e o erro que esta ocorrendo :

ERRO getTesteREFCursor: Índice de coluna inválido

java.sql.SQLException: Índice de coluna inválido

at oracle.jdbc.driver.OracleCallableStatement.getObject(OracleCallableStatement.java:2039)

at oracle.jdbc.driver.OracleCallableStatementWrapper.getObject(OracleCallableStatementWrapper.java:815)

at model.NavegadorTreeModelTeste.getTesteRFCursor(NavegadorTreeModelTeste.java:125)

at view.TestApp.main(TestApp.java:15)

Process exited with exit code 0

Obrigado a todos.

1 Resposta

J

pq vc tah pegando o indice 4, o correto naum seria o 3?

Criado 17 de julho de 2012
Ultima resposta 17 de jul. de 2012
Respostas 1
Participantes 2