Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> [OFF?] Java, Oracle and PLSQL Functions (returning TABLE)
Hi
I have a problem accesing from Java the result of a PLSQL function that returns a TABLE.
Server version is 7.
Here is a sample code of with I'm trying...
[...]
OracleCallableStatement cs=con.prepareCall("{?= call
PKG_XXX.FUNC_XXXX(?,?)}");
cs.setString(2,"XXX1");
cs.setString(3,"XXX2");
cs.registerOutParameter(1, OracleTypes.CURSOR); // Surely incorrect
cs.execute();
[...]
I've tried with OracleTypes.* (OTHER, REF), but always gives SQL Exceptions (sometimes when "executing()", sometimes before).
I cannot use neither registerIndexTableOutParameter(...) nor OracleTypes.PLSQL_INDEX_TABLE, also :( -not supported, it says, assuming it's what I should use [maybe]-
Could someone help me? Thanks in advance
David F
Madrid - Europe
java.sql.SQLException: ORA-06550: línea 1, columna 13:
PLS-00382: el tipo de la expresión no es correcto
ORA-06550: línea 1, columna 7:
PL/SQL: Statement ignored
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:169) at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208) at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543) at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405) at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822) at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1602) at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1527) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2045) at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:395) at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:446)Received on Thu Feb 27 2003 - 10:33:15 CST