Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Calling stored proc using jdbc - TABLE OF DATE

Calling stored proc using jdbc - TABLE OF DATE

From: Ian <ianeruda_at_yahoo.com>
Date: 19 Jul 2004 04:30:16 -0700
Message-ID: <574e8f22.0407190330.3b863094@posting.google.com>


Hi,

I created a procedure that among other types, returns TABLE OF DATE. When I call it using jdbc I get:
java.sql.SQLException: Invalid PL/SQL Index Table element type

If I remove TABLE OF DATE everything works. Question is: Can I execute procedure that returns TABLE OF DATE usnig jdbc?

Here is code:
PLSQL



CREATE OR REPLACE PACKAGE pck1
IS
TYPE t_tbl_number IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
TYPE t_tbl_varchar2 IS TABLE OF VARCHAR2(10) INDEX BY BINARY_INTEGER;
TYPE t_tbl_date IS TABLE OF DATE INDEX BY BINARY_INTEGER;

PROCEDURE proc5(
  i1 IN NUMBER,

  o1 OUT  t_tbl_number,
  o2 OUT  t_tbl_varchar2,
  o3 OUT  t_tbl_date

  );

END pck1;
/

JDBC



OracleCallableStatement ocstmt =
(OracleCallableStatement)conn.prepareCall(" begin" + " pck1.proc5(?, ?, ?, ?);" + " end;");                 

ocstmt.setInt(1, 2);                 

ocstmt.registerIndexTableOutParameter(2, 3, OracleTypes.INTEGER, 200); ocstmt.registerIndexTableOutParameter(3, 3, OracleTypes.VARCHAR, 200);
// error happens here

ocstmt.registerIndexTableOutParameter(4, 3, OracleTypes.DATE, 200);

ocstmt.execute();

Thank you.
Ian Received on Mon Jul 19 2004 - 06:30:16 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US