Ciao a tutti,
ho questo problema:
ho un applicazione Java che si deve collegare ad un database Oracle e che deve richiamare una procedura.
Nel package della procedura sono definiti questi tipi custom:
codice:TYPE tipo_record IS RECORD ( stringa varchar2(4), numero number ); TYPE tipo_tabella IS TABLE OF tipo_record INDEX BY BINARY_INTEGER;
La procedura invece è fatta in questo modo:
codice:PROCEDURE MIA_PROCEDURA( par OUT tipo_tabella );
La procedura quindi ritorna come parametro in uscita un oggetto del tipo custom che è stato definito sopra.
Ora il problema è recuperare il valore in uscita da java.
ho provato in mille modi...ma niente.
Per esempio:
codice:OracleCallableStatement cs = (OracleCallableStatement)con.prepareCall("{call MIA_PROCEDURA(?)}"); cs.registerOutParameter(1,oracle.jdbc.driver.OracleTypes.CURSOR); cs.execute(); ResultSet rs = cs.getCursor(1);
oppure
codice:OracleCallableStatement cs = (OracleCallableStatement)con.prepareCall("{call MIA_PROCEDURA(?)}"); cs.registerOutParameter(1,oracle.jdbc.driver.OracleTypes.ARRAY,"TIPO_TABELLA"); cs.execute(); oracle.sql.ARRAY arr = cs.getARRAY(1);
Tutti tentativi vani....
Qualcuno mi potebbe aiutare?
GRAZIE.
Paolo.

Rispondi quotando