CREATE OR REPLACE PACKAGE getUserInfo AS

   type rec_msg is record
      (
                userId      VARCHAR2(30),
                userRoles VARCHAR2(2000),
                userGroups      VARCHAR2(2000),
      );

Procedure proc_get_user_details (Application_id IN VARCHAR2, Prec_user_info
OUT type rec_msg is record )  ;
END getUserInfo;
/

CREATE OR REPLACE PACKAGE BODY getUserInfo AS

Procedure proc_get_user_details (Application_id IN VARCHAR2, Prec_user_info
OUT type rec_msg is record )
AS
BEGIN
  --Our Application Functionality
  --Assingn the derived data to the reord type
   Prec_user_info.userId  := 'XYZ';
   Prec_user_info. userRoles  := 'ABC';
   Prec_user_info.u userGroups  := 'ZZZZ';
END
END getUserInfo;
/

In the above package i able to execute in the Oracle serverside but while
calling from Java.. it is thorowing invalid Column type. In the Java we
mapped to ARRAY type while calling the same.


Then I have changed the parameter to sql object type as

CREATE OR REPLACE TYPE rec_msg AS OBJECT
(
                userId      VARCHAR2(30),
                userRoles VARCHAR2(2000),
                userGroups      VARCHAR2(2000),
      );

CREATE OR REPLACE TYPE  tab_msg  AS TABLE OF  rec_msg;
/

Currently It is working Now. But my requirement is always need to send the
one row with three columns so Please advice me any other way to pass only
record type to Java rather Array and what is the exact Java datatype to map
it the same?

Thanks in Advance

Rasheed

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Oracle PL/SQL" group.
To post to this group, send email to Oracle-PLSQL@googlegroups.com
To unsubscribe from this group, send email to
oracle-plsql-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/Oracle-PLSQL?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to