manual procedure for internal C call fails with ORA-06509: PL/SQL: ICD vector missing for this package

From: Martin Berger <martin.a.berger_at_gmail.com>
Date: Wed, 5 Oct 2011 02:40:10 +0200
Message-ID: <CALH8A914+WAgADoZgWe6EML7+iqAS2D3j0=rh3t1UnCLv+8qVw_at_mail.gmail.com>



Hi List,

To test some ways to play with HCC I try to create a procedure which calls a kernels function:
in prvtcmpr.plb I found in the PACKAGE BODY prvt_compression

PROCEDURE KDZCHECKHI(HLID IN NUMBER);
PRAGMA INTERFACE (C, KDZCHECKHI); PROCEDURE CHECK_HLI (HLID IN NUMBER); ...
PROCEDURE CHECK_HLI (HLID IN NUMBER) IS BEGIN
  KDZCHECKHI(HLID);
END;
...

I can not call CHECK_HLI directly, so I created:


create or replace PACKAGE bx_compression IS

PROCEDURE CHECK_HLI (HLID IN NUMBER); END bx_compression;
/

create or replace PACKAGE BODY bx_compression IS

PROCEDURE KDZCHECKHI(HLID IN NUMBER);
PRAGMA INTERFACE (C, KDZCHECKHI); PROCEDURE CHECK_HLI (HLID IN NUMBER) IS BEGIN
  KDZCHECKHI(HLID);
END; END;
/



but when I try to test it:

exec bx_compression.check_hli(1);
BEGIN bx_compression.check_hli(1); END;

*
ERROR at line 1:

ORA-06509: PL/SQL: ICD vector missing for this package
ORA-06512: at "SYS.BX_COMPRESSION", line 8
ORA-06512: at line 1

does anyone have a clue where I missed the copy&paste and introduced my mistake?

thank you,
 Martin

--
http://www.freelists.org/webpage/oracle-l
Received on Tue Oct 04 2011 - 19:40:10 CDT

Original text of this message