• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 870
  • Last Modified:

perl script querying a oracle 10g DATABASE

Hi
  We've recently upgraded to oracle 10G Release 2.

When browsing a  web page that executes a perl script in the backend, it fails with a oracle error ora-03113 end of file on communication channel error.....it throws that error to the apache logs and crashes....the server is running perl 5.8.5 with DBD-Oracle 1.16.....it was running fine when we had oracle 9i running...

execute error: ORA-03113: end-of-file on communication channel (DBD ERROR:
OCIStmtExecute) (DBD ERROR:
OCITransRollback)'
    <- DESTROY= undef during global destruction




can someone advice?

 
0
trance12
Asked:
trance12
  • 3
  • 2
  • 2
2 Solutions
 
trance12Author Commented:
It fails on a read query selecting from a table...however if i run that same query in sqlplus, it works fine..
0
 
ahoffmannCommented:
can ypu please post the corresponding perl command
0
 
Adam314Commented:
The DBD::Oracle module has a newer version: 1.22.  You could try upgrading to the latest version.
0
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 
trance12Author Commented:
This is the exact error

[Mon Nov 17 16:25:21 2008] null: DBD::Oracle::db DESTROY failed: ORA-03113: end-of-file on communication channel (DBD ERROR: OCITransRollback) during global destruction.

The error happens at random...however once we restart apache, the error does not appear for a few hours and then all of a sudeen it starts again...

i've checked memory stats etc on the server and it looks fine..



0
 
trance12Author Commented:
That error is what writes to the apache logs...

On the web page though, it throws this error

Can't call method "execute" on an undefined value at /usr/local/apache/htdocs/resell/index.cgi line 26.

which is this query

my $sql = "SELECT product_id, header_link,footer_link, middle_page_link FROM  reseller WHERE  reseller_id = '$resell'";

my $sth = $WAP::lda->prepare($sql);

$sth->execute();
0
 
Adam314Commented:
The error on the webpage indicates that $WAP::lda is note defined.  How is this created?
0
 
ahoffmannCommented:
my $sql = 'SELECT product_id, header_link,footer_link, middle_page_link FROM  reseller WHERE  reseller_id = ?';
my $sth = $WAP::lda-->prepare($sql);
$sth->execute($resell);

# assuming that $ WAP::lda is correct
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 3
  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now