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.