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

Home -> Community -> Usenet -> c.d.o.server -> Re: Oracle Records and registerOutParameter?

Re: Oracle Records and registerOutParameter?

From: <onekilo_at_my-deja.com>
Date: Tue, 23 Nov 1999 23:30:50 GMT
Message-ID: <81f83b$mu1$1@nnrp1.deja.com>


In article <383AB00D.9E54AC21_at_zv.fhg.de>,   Werner Ebert <ebert_at_zv.fhg.de> wrote:
> Hello,
>
> I want to call a stored function that returns an oracle
> record. When I try this using the code below, I get
>
> Invalid column type: get_internal_type
>
> when calling *registerOutputParameter(1, Types.OTHER)* of
> the CallableStatement. Does anybody know how this
> is to be done?
>
> Here's my code:
>
> Oracle:
>
> create or replace package pkg_test
> as
>
> type t_rec is record
> (
> m_Id integer,
> m_Text char(10)
> );
>
> function func_rec
> return t_rec;
>
> pragma restrict_references(func_rec, RNDS, WNDS);
>
> end pkg_test;
>
> Java:
>
> Connection fv_Con;
> CallableStatement fv_CallStmt;
> oracle.sql.STRUCT fv_OraStruct;
> .
> .
> fv_CallStmt = fv_Con.prepareCall("begin :1 := pkg_test.func_rec
();
> end;");
> fv_CallStmt.registerOutParameter(1,Types.OTHER); <- exception
> occurs at this point
> fv_CallStmt.execute();
> fv_OraStruct = (oracle.sql.STRUCT)fv_CallStmt.getObject(1);
>
> Thanks for any hint,
>
> Werner Ebert
>
>

try this

    fv_CallStmt = fv_ConprepareCall("{call ? pkg_test.func_rec()}");

the {} are very important I have never used begin but I use call and call does work. cheers.
muzza

Sent via Deja.com http://www.deja.com/
Before you buy. Received on Tue Nov 23 1999 - 17:30:50 CST

Original text of this message

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