Domanda

Sto scrivendo un programma JAVA utilizzando JDBC per la connettività del database, sto chiamando una procedura memorizzata in quella che restituisce ORACLE REF CURSOR, esiste un modo per gestirlo senza importare PACCHETTI ORACLE?

È stato utile?

Soluzione

Penso di aver provato a farlo qualche tempo fa e in un certo senso mi sono arreso (immagino che potresti capire quale valore int è OracleTypes.REF_CURSOR e quindi utilizzare quel valore int, ma è un trucco).Se hai pazienza potresti definire un tipo di record (o oggetto) e definire il cursore come un cursore con tipo poiché può essere lanciato usando table su un valore selezionabile come le tabelle normali, cioè

select * from table( sp_returning( ? ) )

Ho fatto una rapida ricerca su Google sul cursore di riferimento e su jdbc e sembra che potrebbe essere un'estensione Oracle che spiegherebbe perché non esiste un modo standard per accedere ai dati.

Altri suggerimenti

Facendo

select * from table( sp_returning( ? ) )

è più lento della restituzione di un cursore di riferimento.

Posso usare un cursore di riferimento in combinazione con C#, perché non puoi farlo con Java?Sono sicuro che ci sono molti esempi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top