Hi everyone.
I want to create a crawler with perl and run it on crowntab. The program should use DBI and DBD::Oracle to insert data into my database.
When crontab runs it, I get the following error in my mail box.
Can't load '/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: libclntsh.so.10.1: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.8.5/i386-linux-thread-multi/Dynaloader.pm line 230.
my code is something like:
#!/usr/bin/perl
use Getopt::Long;
use POSIX;
use POSIX qw(setsid);
use warnings;
use Data::Dumper;
use WWW::Mechanize;
use DBI;
use DBD::Oracle;
use XML::Twig;
init_env();
#do something-----
sub init_env
{
$SIG{'INT'} = 'IGNORE';
$SIG{'QUIT'} = 'IGNORE';
$SIG{'TERM'} = 'IGNORE';
$SIG{'PIPE'} = 'IGNORE';
# signal(SIGPIPE, SIG_IGN);
$SIG{'CHLD'} = 'IGNORE';
my $pid = fork(); die "$!" unless defined $pid; exit 4 if $pid;
POSIX::setsid() or die "Can't start a new session: $!";
# Flush standard output buffer.
select(STDOUT);
$| = 1;
}
BEGIN
{
$ENV{ORACLE_HOME} = "/u01/oracle/product/10.2.0/client_1";
$ENV{PATH} = "/bin:/usr/bin:/u01/oracle/product/10.2.0/client_1/bin:/home/appowner/bin:.";
$ENV{LD_LIBRARY_PATH} = "/u01/oracle/product/10.2.0/client_1/lib";
}
END {
}
I have installed both DBI and DBD::Oracle with CPAN.
Please help and many thanks.
Shen