É possível receber Oracle Object Type como Output de uma stored procedure? (java.sql.Types STRUCT)
Boa tarde à todos!
Preciso fazer uma chamada sql (utilizando JDBC) para executar uma procedure que retorna um objeto estruturado (Oracle Object) como parâmetro de saída.
No entanto, o método do Adptador SQL não está aceitando o tipo de dado STRUCT do JDBC (referente ao Oracle Oject), retornando a seguinte mensagem de erro:
ERRO #5023: Erro no Gateway Remoto: JDBC Gateway SP execute(0) error 0: Remote JDBC error: ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'AGUARDAR_EVENTO'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
Declaração do parâmetro de saída:
Set tParams(1, "SqlType") = $$$SqlJStruct
Set tParams(1, "IOType") = $$$SQLPARAMOUTPUT
De acordo com a documentação, a interface STRUCT ainda não foi implementada pra o JDBC:
É necessário implementar essa interface para utilizar um Oracle Object como parâmetro em uma chamada SQL ou existe alguma outra forma?
Olá Renato,
Até onde sei ainda não é possível.
Acredito que o mais fácil seria alterar a assinatura da sua stored procedure para retornar vários parâmetros de output contendo os dados da sua estrutura.