Hi,

Early this morning a perl process of ours got the following error on stderr:

DBD::Oracle::db do failed: ORA-24909: call in progress. Current
operation cancelled (DBD ERROR: OCIStmtExecute) at
/usr/lib/perl5/site_perl/5.8.8/DBIx/Log4perl/
db.pm line 83.

The first significant thing is that it was output on stderr and not
caught by DBI/DBD::Oracle and therefore not signalled as a normal error
(DBIx::Log4perl has a DBI error handler which never saw it).

Our code is not threaded. Oracles documentation says:

The OCI call was invoked when another call on the connection was in
progress. Check if the OCI call is supported when the call is in
progress under special conditions; for example, if it is being used by a
signal handler. What this means is that an OCI call (Oracle call
interface, the lowest language you can program in to access the Oracle
database) is issued, while another call is still being executed. eg: one
OCI call tries to read a cursor, but another OCI call, which closes the
cursor is already in progress.

Anyone else seen this in Perl using DBD::Oracle?

BTW, this is DBD::Oracle 1.22 and DBI 1.605.

Martin
-- 
Martin J. Evans
Easysoft Limited
http://www.easysoft.com

Reply via email to