Ae Pessoal, se alguem puder me ajudar
Não to conseguindo chamar uma função que eu possuo dentro de uma package.
Alguem tem alguma sugestão ?
try {
cs = conn
.prepareCall("{call ? = TEST5.pgpacotepargainicial.insert_path_element(?,?,?,?); end;");
cs.setString(1, circPathInstId);
cs.setString(2, portInstId);
cs.setString(3, bwDesc);
cs.setString(4, bwInstId);
cs.execute();
/// ---------------------------
Retorna pra mim
java.sql.SQLException: Parâmetro IN ou OUT ausente do índice:: 5
Valeu
vSiqueira
Os parâmetros da function vão de 2 até 5, 1 seria o retorno dela!?
Não acredito.
Se substituo os parametros por 2 a 5.
O indice ausente se torna o 1.
O correto não é:
? = call TEST5.pgpacotepargainicial.insert_path_element(?,?,?,?)
parâmetros de 1 a 4?
Consegui resolver o Problema dessa forma:
try {
cs = conn
.prepareCall(“begin ? := TEST5.pgPacoteCargaInicial.insert_path_element(?,?,?,?); end;”);
cs.registerOutParameter(1, Types.VARCHAR);
cs.setString(2, circPathInstId);
cs.setString(3, portInstId);
cs.setString(4, bwDesc);
cs.setString(5, bwInstId);
cs.execute();
pathElementId = cs.getString(1);
}
Setando o register out parameter, para ele conseguir entender quais sao os Índices.
Brigado pela Força ai Arnaldo!
Att,
vSiqueira