Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ODCITable interface in Oracle 12c, what happened?

C ElgholmFeb 17 2016 — edited Feb 19 2016

Hi,

I've been using the ODCITable interface in previous Oracle versions, but for our new database (12c) it isn't working anymore.

(ODCITableXXXX  = ODCITableDescribe, ODCITablePrepare, ODCITableStart, ODCITableFetch, ODCITableClose)

What happened to it in 12c?

I'm using it in PL/SQL, in a type object, as shown in this article here:

http://www.adp-gmbh.ch/blog/2007/04/22.php

If you're googling a lot you'll also find another example, NColPipe, which has the same problem - on Oracle 12c.

>> select * from table(some_type.do(42))

ORA-06550: line 4, column 22:

PLS-00302: component 'SOME_TYPE' must be declared

ORA-06550: line 4, column 6:

PL/SQL: Statement ignored

And no, that's not the correct error message. The object SOME_TYPE exists, it's valid, etc.. (I can execute methods in it!)

It seems to be something else that's happening in 12c, when trying to encapsulate the anydataset pipelined using the ODCITable interface for TABLE()...

Everything compiles.. ANYDATA, ANYDATASET and ANYTYPE has public synonyms and the user has execute privs on all things related...

In short, why isn't the same code/permissions/setup working in 12c?

The documentation for the ODCITable interface is short, at best, and it's mainly structured for people writing stuff in C outside of the database.

Have they removed/changed the ODCITable interface in 12c??

Regards

Charlie

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 18 2016
Added on Feb 17 2016
38 comments
1,420 views