Oracle8i Object extension and OCI problem

From: Andrew Bryndin <AndrewB_at_retailpro.com>
Date: Wed, 9 Feb 2000 16:12:03 -0800
Message-ID: <38a2025e.0_at_shiva.ukisp.net>



Hi, ALL.
I've got Oracle 8.1.5 Enterprise for NT and recently discovered very strange problem during manipulation of oracle object with embedded objects (such as nested tables) thru OCI.

Let say that I've got very simple object definitions like that:

create or replace type Test_Item_Type as object (

  Item_No         integer,
  Val             Number(15, 4)

)
/

create or replace type Test_Item_Tab as table of Test_Item_Type;
/

create or replace type Test_Hdr_Type as object (
  Test_Id integer,
  Test_Items Test_Item_Tab -- nested table )
/

So you can create table or object view based on Test_Hdr_Type it actually doesn't matter because the error is occured in both cases. The problem is that when you populate details (embedded objects) and their amount exceeds some particular quantity, which actually could be vary depending on the size of embeded object, during the OCIObjectFlush() of [Quoted] parent object instance we've got an error: 'OCI-21500: internal error code, arguments: [kope2pic798], [], [], [], [],[], [], []', which sometimes even lead to hanging up the server instance. =80

The first guess was that Object Cache was filled up and OCI started to aged out dirty object before their flushing. I tried to increase Object Cache [Quoted] [Quoted] thru OCIAttrSet but it didn't help. The funny thing is that with relatively small amount of embedded object (like 100-200) everything works fine.

I use Direct Oracle Access so my last hope is that problem exists in their code, but not in OCI implementation.
Did anybody else have the similiar problem or at least successfully filled up and flushed huge collection of embedded object thru OCI?

Any hints will be highly appreciated.

Thanks
Andrew. Received on Thu Feb 10 2000 - 01:12:03 CET

Original text of this message