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

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Returning REF cursor type variable to a calling Java program

RE: Returning REF cursor type variable to a calling Java program

From: Richard Ji <richard_at_letsplay.com>
Date: Mon, 11 Sep 2000 09:33:18 -0400
Message-Id: <10616.116628@fatcity.com>


This is a multi-part message in MIME format.

------=_NextPart_000_0043_01C01BD3.F49B1EF0 Content-Type: text/plain;

        charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

A ResultSet is used in this case. JDBC driver can map REF CURSOR to a Java ResultSet object.

-----Original Message-----
From: root_at_fatcity.com [mailto:root_at_fatcity.com]On Behalf Of Andrey Bronfin Sent: Sunday, September 10, 2000 1:26 PM To: Multiple recipients of list ORACLE-L Subject: Returning REF cursor type variable to a calling Java program

Dear list !
I need to return a REF CURSOR type value from a PL/SQL stored procedure to a calling Java program .
We problem is that we don't know what datatype should be used in the calling Java program ?

I define :

create or replace package types as
CURSOR get_topic_some_data_c1 is select topic_id,topic_name,resource_id from topic ;
TYPE RefCurs_GTSD IS REF CURSOR RETURN get_topic_some_data_c1%ROWTYPE ; end types ;
/

create or replace procedure get_topic_some_data ( v_parent_id in number , v_out_RefCurs_GTSD out TYPES.RefCurs_GTSD ) as
BEGIN
 open v_out_RefCurs_GTSD for select topic_id,topic_name,resource_id from topic where PARENT_ID = v_parent_id ;
END get_topic_some_data ;
/

That is , the Java program that calls the PL/SQL stored proc , should be able to "understand" the
2nd parameter of the stored proc , that is , the parameter of data type : TYPES.RefCurs_GTSD .

How can we implement this ?
How should be the data type of " v_out_RefCurs_GTSD out TYPES.RefCurs_GTSD " defined in the Java program that calls the Pl/SQL ?

Thanks a lot in advance .

Andrey Bronfin
VisualTop.com
+972-3-5275757.

------=_NextPart_000_0043_01C01BD3.F49B1EF0 Content-Type: text/html;

        charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">

<META content=3D"MSHTML 5.00.3103.1000" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#d4d0c8>
<DIV><FONT color=3D#0000ff face=3DArial size=3D2><SPAN =
class=3D817113613-11092000>A=20
ResultSet is used in this case.&nbsp; JDBC driver can map REF CURSOR to = a Java=20
ResultSet object.</SPAN></FONT></DIV>
<BLOCKQUOTE style=3D"MARGIN-RIGHT: 0px">
  <DIV align=3Dleft class=3DOutlookMessageHeader dir=3Dltr><FONT = face=3DTahoma=20
  size=3D2>-----Original Message-----<BR><B>From:</B> root_at_fatcity.com=20   [mailto:root_at_fatcity.com]<B>On Behalf Of </B>Andrey = Bronfin<BR><B>Sent:</B>=20
  Sunday, September 10, 2000 1:26 PM<BR><B>To:</B> Multiple recipients = of list=20
  ORACLE-L<BR><B>Subject:</B> Returning REF cursor type variable to a = calling=20
  Java program <BR><BR></DIV></FONT>
  <DIV><FONT face=3DArial size=3D2>Dear list !</FONT></DIV>   <DIV><FONT face=3DArial size=3D2>I need to return a REF CURSOR type = value from a=20
  PL/SQL stored procedure to a calling Java program .</FONT></DIV>   <DIV><FONT face=3DArial size=3D2>We problem is that we don't know what = datatype=20
  should be used in the calling Java program ?</FONT></DIV>

  <DIV>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2>I define : </FONT></DIV>
  <DIV>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2>create or replace package types as =

<BR>CURSOR=20

  get_topic_some_data_c1 is select topic_id,topic_name,resource_id from = topic=20
  ;<BR>TYPE RefCurs_GTSD IS REF CURSOR RETURN = get_topic_some_data_c1%ROWTYPE ;=20
  <BR>end types ; <BR>/ </FONT></DIV>
  <DIV>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2>create or replace procedure =
get_topic_some_data (=20
  v_parent_id in number , v_out_RefCurs_GTSD out TYPES.RefCurs_GTSD ) =
<BR>as=20

  <BR>BEGIN<BR>&nbsp;open v_out_RefCurs_GTSD for select=20   topic_id,topic_name,resource_id from topic where PARENT_ID =3D = v_parent_id=20
  ;<BR>END get_topic_some_data ;<BR>/</FONT></DIV>
  <DIV>&nbsp;</DIV>
  <DIV>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2>That is , the Java program that calls =
the PL/SQL=20
  stored proc , should be able to "understand" the </FONT></DIV>   <DIV><FONT face=3DArial size=3D2>2nd parameter of the stored proc , = that is , the=20
  parameter of data type : TYPES.RefCurs_GTSD&nbsp; .</FONT></DIV>   <DIV>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2>How can we implement this = ?</FONT></DIV>
  <DIV><FONT face=3DArial size=3D2>How&nbsp;should be the data type = of&nbsp; "=20
  v_out_RefCurs_GTSD out TYPES.RefCurs_GTSD " defined in the Java = program that=20
  calls the Pl/SQL ?</FONT></DIV>
  <DIV>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2>Thanks a lot in advance = .</FONT></DIV>
  <DIV>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2><BR>Andrey=20   Bronfin<BR>VisualTop.com<BR>+972-3-5275757.</FONT></DIV>   <DIV>&nbsp;</DIV> Received on Mon Sep 11 2000 - 08:33:18 CDT

Original text of this message

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