Page 1 of 1

Error with public object type when describing object parameters of stored procedures

Posted: Tue 07 Nov 2006 13:45
by zzin32
1. db user - GLB

CREATE OR REPLACE TYPE TPS_GLB_ID AS OBJECT
(
sid varchar2(64),
id number(10)
);
create or replace public synonym TPS_GLB_ID for GLB.TPS_GLB_ID;
grant execute on TPS_GLB_ID to INK;

2. db user - INK

CREATE OR REPLACE PACKAGE I_PACK AS

PROCEDURE SET_DATA(PI_DATI TPS_GLB_ID);

END I_PACK;

CREATE OR REPLACE PACKAGE BODY I_PACK AS

PROCEDURE SET_DATA(PI_DATI TPS_GLB_ID)
IS
BEGIN
NULL;
-- process
END SET_DATA;

END I_PACK;


Error on TOraSession.ExecProc or TOraSession.ExecProcEx by execute SQL.CreateProcCall.

ORA-04043: object "PUBLIC"."TPS_GLB_ID" does not exist

Posted: Tue 07 Nov 2006 15:42
by Plash
Please provide Delphi code that you use to call the stored procedure. Also specify your versions of ODAC and Delphi.

Posted: Tue 07 Nov 2006 16:23
by zzin32
Delphi 6
ODAC 5.80.0.37 (previous 5.80.0.35 - not error)

Delphi example is very simple:

Set TOraSession component on the form with name OraSession1. Login as user INK.
Execute:
OraSession1.SQL.CreateProcCall('I_PACK.SET_DATA');

See error.

Posted: Wed 08 Nov 2006 09:58
by Plash
We cannot reproduce the problem. Please send to ODAC support address complete sample that demonstrates the problem and include script to create server objects.

Posted: Wed 08 Nov 2006 12:04
by zzin32
Example and comments to ODAC support address is sending.

Posted: Fri 10 Nov 2006 12:02
by zzin32
For CoreLab Team. Sorry...
Do you solve this problem?

Posted: Fri 10 Nov 2006 12:11
by Plash
We have fixed this problem. The fix will be included in next build of ODAC.

Posted: Fri 10 Nov 2006 15:18
by zzin32
Thank you! :)