Executar uma procedure oracle com um tipo de variavel IS RECORD

1 resposta
S

Olá Pessoal!
Tenho uma procedure oracle com um tipo de variavel IS RECORD, nela tem vários itens de produto que estou enviarndo para procedure e estou tentando executar essa procedure em java jdbc mais estou tenho um problema ao setar essa variavel para procedure,
estou tendo o seguinte erro :

Error(21,15): method setBytes(int, java.lang.String[]) not found in interface java.sql.CallableStatement

Alguem poderia me ajudar a executar essa procedure?

TYPE produtosRec_rows IS RECORD
PROCEDURE incluir( produtosRec_rows IN produtosRec_tab) IS

String produtos[] = {"1","2",}; 
CallableStatement procedure = conn.prepareCall("begin pkg_teste.incluirProd(?); end;");
procedure.setBytes(1,produtos);
procedure.execute();
procedure.close();

1 Resposta

bernardo.rafael

Mas o que vc quer fazer?

se você esta tentando incluir város produtos, deve fazer o seguinte:

String produtos[] = {"1","2",};
CallableStatement procedure = conn.prepareCall("{call pkg_teste.incluirProd(?);}");
for(String produto:produtos){
procedure.setString(1,produto);
procedure.addBatch();
}
procedure.execute();
procedure.close();
Criado 30 de julho de 2007
Ultima resposta 30 de jul. de 2007
Respostas 1
Participantes 2