Sands Peter wrote:
Running perl5.8.3 compiled 32 bit with the Perl libraries, DBD 1.15, DBI
1.41 distributed with Oracle 10.2, I find that, having connected to Oracle
within a perl script any subsequent system() calls return a -1 error status,
even simple commands like true.  (First tried building and using
DBD-Oracle-1.19, DBI-1.40 with the same results).


cat dbtest.pl
use strict;
use Getopt::Std;
use DBI;

# Connect to database
my $db = DBI -> connect("DBI:Oracle:","","",
                {AutoCommit => 0,PrintError => 0,RaiseError => 1})
                        or die "Failed to connect: $DBI::errstr\n";
$db -> disconnect();

system(true);

print "$?\n";


 >/opt/app/oracle/product/10.2/perl/bin/perl5.8.3 dbtest.pl
-1

/opt/app/oracle/product/10.2/perl/bin/perl5.8.3 -v

This is perl, v5.8.3 built for sun4-solaris-thread-multi

Copyright 1987-2003, Larry Wall

Perl may be copied only under the terms of either the Artistic License or
the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'.  If you have access to the
Internet, point your browser at http://www.perl.com/ <http://www.perl.com/>
, the Perl Home Page.


file /opt/app/oracle/product/10.2/perl/bin/perl5.8.3
/opt/app/oracle/product/10.2/perl/bin/perl5.8.3:        ELF 32-bit MSB
executable SPARC Version 1, dynamically linked, not stripped


echo $PERL5LIB
/opt/app/oracle/product/10.2/perl/lib/5.8.3:/opt/app/oracle/product/10.2/per
l/lib/site_perl/5.8.3/


/opt/app/oracle/product/10.2/perl/bin/perl5.8.3 -e 'use DBD::Oracle; print
$DBD::Oracle::VERSION,"\n";'
1.15


/opt/app/oracle/product/10.2/perl/bin/perl5.8.3 -e 'use DBI; print
$DBI::VERSION,"\n";'
1.41

Peter Sands


Have you tried running truss on the perl script to see what is happening when system fails? I think it is worth a try. Also, the OCI libraries do a lot of fiddling with signals and I can imagine SIGCHLD having an effect on system.

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

Reply via email to