I am attempting to select from a table that has a field with a
system defined type. Unfortunately, I get back an error when I
execute the prepare method.
In reading the DBD::Oracle docs, it seems like it is saying that
Object & Collections are supported, but perhaps I am mis-understanding
the docs.
This is the error..
DBD::Oracle::db prepare failed: OCI-22303: type ""."AQ$_JMS_USERPROPARRAY" not
found (DBD ERROR: OCITypeByName) [err was 22303 now 24360]
ORA-24360: Type Descriptor Object not specified for Object Bind/Define (DBD
ERROR: OCIDefineObject)
ORA-24360: Type Descriptor Object not specified for Object Bind/Define (DBD
ERROR: OCIDefineByPos) [for Statement "SELECT
q_name,
msgid,
a.user_data.bytes_len,
a.user_data.header.properties
FROM my_queue_qt a
WHERE rownum < 3
This is the relevant part of the system defined type...
> desc sys.aq$_jms_header
Name Null? Type
----------------------------------------- -------- ----------------------------
REPLYTO SYS.AQ$_AGENT
TYPE VARCHAR2(100)
USERID VARCHAR2(100)
APPID VARCHAR2(100)
GROUPID VARCHAR2(100)
GROUPSEQ NUMBER(38)
PROPERTIES SYS.AQ$_JMS_USERPROPARRAY
> desc SYS.AQ$_JMS_USERPROPARRAY
SYS.AQ$_JMS_USERPROPARRAY VARRAY(100) OF SYS.AQ$_JMS_USERPROPERTY
Name Null? Type
----------------------------------------- -------- ----------------------------
NAME VARCHAR2(100)
TYPE NUMBER(38)
STR_VALUE VARCHAR2(2000)
NUM_VALUE NUMBER
JAVA_TYPE NUMBER(38)
If this is supported, any guidance would be appreciated.
If it is not supported, and someone can give some guidance on how to
develop the capability, I'd be interested in trying to produce a patch,
but I'd need some initial direction in that regard.
Thanks.