Published on InterSystems Developer Community (https://community.intersystems.com)

Página Inicial > É possível receber Oracle Object Type como Output de uma stored procedure? (java.sql.Types STRUCT)

Pergunta
Renato Araujo · Mar. 8, 2022

É 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?

#Interoperabilidade #JDBC #SQL #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health
Product version: IRIS 2020.1
$ZV: IRIS for Windows (x86-64) 2020.1 (Build 215U) Mon Mar 30 2020 20:14:33 EDT [HealthConnect:2.1.0]

URL de origem:https://pt.community.intersystems.com/post/%C3%A9-poss%C3%ADvel-receber-oracle-object-type-como-output-de-uma-stored-procedure-javasqltypes-struct