Hi,

I've searched the archive at www.mail-archive.com and have not found any
references to this specific error number.

I've been using a PL/SQL function from Perl DBI this way:
 $cursor = $dbHandle->prepare(q{
                                 BEGIN
                                     append_comments(?, ?);
                                 END;
                               });
 $cursor->execute($incident, $newComment);

But this uses the default VARCHAR2 type for the comment placeholder and
the application occasionally has problems with data exceeding the buffer
size.

So, I want to change to using a LOB type, like this:
 $cursor = $dbHandle->prepare(q{
                                BEGIN
                                  append_comments(:incident, :comments);
                                END;
                               });

 $cursor->bind_param(":incident", $newIncident);
 $cursor->bind_param(":comments", $comments,{ora_type => ORA_CLOB});
 $cursor->execute();

This works, allowing data sets larger than 32K.  It properly updates the
table, but when it is done, I get this:

(in cleanup) DBD::Oracle::st DESTROY failed:  \
  (DBD (UNKNOWN OCI STATUS 1041):  OCILobFreeTemporary) [for Statement "
                                BEGIN
                                  append_comments(:incident, :comments);
                                END;
                              "], <> line 3.

I've talked with support at Oracle, and they insist the error code must
be "ORA-01041 : internal error. hostdef extension doesn't exist."

I can "capture" this error by redirecting stderr to /dev/null, and so
far as I can tell, nothing "bad" is happening, but I don't feel very
comfortable with this as a "solution".

Many thanks in advance ;)

-- 
Bob McGowan
Symantec

Reply via email to