Hello.
Apologies in advance for bringing up a subject which has probably been
covered here already, but I can't seem to find the topic (with all the
keywords I can think of) in the vmsperl mail archive.
We have a problem loading DBD::Oracle on the VMS platform. We built it
(along with DBI and perl 5.005_03 itself) on a DEC Alpha machine
running 7.2, built an 'install' package for all of the above, then
installed it on another machine. We then set the logicals PERL_ROOT
and the date /timezone settings. When we try a simple script which
loads the DBI and DBD::Oracle modules on the machine on which the
packages were not built, it fails, claiming:
install_driver(Oracle) failed: Can't load
'PERL_ROOT:[LIB.SITE_PERL.VMS_AXP.AUTO .DBD.ORACLE]ORACLE.EXE;1' for
module DBD::Oracle: %RMS-E-FNF, file not found
at (eval 4) line 3
However, the file is indeed there:
> dir PERL_ROOT:[LIB.SITE_PERL.VMS_AXP.AUTO.DBD.ORACLE]
Directory PERL_ROOT:[LIB.SITE_PERL.VMS_AXP.AUTO.DBD.ORACLE]
.PACKLIST;1 EXTRALIBS.LD;1 ORACLE.BS;1
ORACLE.EXE;1 ORACLE.OPT;1
Are there other logicals (e..g PERLLIB) which need to be set for
module loads to work? Does the build of DBD::Oracle hard-code
anything, like the physical path to the oracle library files in
ORA_ROOT?
I will start stepping through in the debugger to try to gather some
more information, but I was hoping someone would recognise this
problem right away...
Regards,
David Hansen
Warburg Dillon Read Chicago
141 West Jackson Boulevard
Chicago, IL 60202
_____________________________ Forward Header __________________________________
Subject: Re: VMS Perl: Show stopper on BB9401 ? Do I just need hel
Author: Simon Clift at op,b,opfikon,it/dd.id=T888826
Date: 03/08/00 9:04 AM
Dave,
Note the end of my output: the file is indeed there.
Cheers
--- Simon
BB9420_CLIFTSI> dir PERL_ROOT:[LIB.SITE_PERL.VMS_AXP.AUTO.DBD.ORACLE]ORACLE.EXE;
1
Directory PERL_ROOT:[LIB.SITE_PERL.VMS_AXP.AUTO.DBD.ORACLE]
ORACLE.EXE;1
Total of 1 file.
______________________________ Reply Separator _________________________________
Subject: Re: VMS Perl: Show stopper on BB9401 ? Do I just need hel
Author: David Hansen at ch,a,chicago,FX
Date: 00.03.08 14:51
Darran / Simon:
Hi. Can you confirm that the file:
PERL_ROOT:[LIB.SITE_PERL.VMS_AXP.AUTO .DBD.ORACLE]ORACLE.EXE;1
is indeed there or not there on that machine?
Cheers,
David Hansen
______________________________ Reply Separator _________________________________
Subject: Re: VMS Perl: Show stopper on BB9401 ? Do I just need hel
Author: Simon Clift at op,b,opfikon,it
Date: 03/08/00 7:32 AM
Hi Peter, Darran,
I'm running the Perl script I wrote on BB9420 (VMS 7.2). I've set the
PFS_DB symbol as follows:
define SQL$DATABASE PFS_DB
define pfs_db db_disk003:[pfsdb]PFSDB.RDB
define db_disk003 DPA200:[DB_DISK003.]
to be able to get at the test database (which I can via SQL).
I have a
use DBI
statement at the start of my Perl program. PERL_ROOT is defined
properly.
However, when I try connecting to Oracle over the DBD module I get the
error attached below. Any ideas?
BTW... I found the following in the DBI mailing lists:
http://www.xray.mpe.mpg.de/mailing-lists/dbi/2000-02/msg00753.html
If you might be dealing with various Oracle versions, the only safe method is to
have DBI/DBD::Oracle built on the target machine. If you have no control over
the Oracle version, you should not attempt to copy the DBI/DBD::Oracle modules
and libraries from one machine to another. The only time this will work is if
the two machine are set up identically; not just Oracle but where Perl was
installed and with what options.
Simply make a pre-requisite for your software to work that Perl 5.005, DBI, and
DBD::Oracle be installed on the machine. With most architechtures, this is a no
brainer; I have DBD::Oracle running under AIX 3.2.5, OpenVMS 7.0, and WinNT.
None of them required anything fancy to compile everything properly (except VMS
where I had to use -b).
Again, were there any errors in the test run? Can we do the compile
tests on BB9420 to confirm that DBD::Oracle is operating OK?
Thanks
--- Simon Clift
Opfikon x94468
Here is the line that starts the DB connection and the dump that
followed:
----------------------------------------------------------------------
main::loadDesyCcy(ddload_pcdaam.nwpl:979):
979: my $dbh = DBI->connect('DBI:Oracle:pfs_db')
980: or die "Couldn't connect to database: " . DBI->errstr;
DB<2> n
install_driver(Oracle) failed: Can't load 'PERL_ROOT:[LIB.SITE_PERL.VMS_AXP.AUTO
..DBD.ORACLE]ORACLE.EXE;1' for module DBD::Oracle: %RMS-E-FNF, file not found
at (eval 4) line 3
Carp::croak('Can\'t load \'PERL_ROOT:[LIB.SITE_PERL.VMS_AXP.AUTO.DBD.ORA
CLE]O...') called at /perl_root/lib/VMS_AXP/5_00503/DynaLoader.pm line 93
DynaLoader::croak('Can\'t load \'PERL_ROOT:[LIB.SITE_PERL.VMS_AXP.AUTO.D
BD.ORACLE]O...') called at /perl_root/lib/VMS_AXP/5_00503/DynaLoader.pm line 169
DynaLoader::bootstrap('DBD::Oracle', 1.03) called at /perl_root/lib/site
_perl/DBD/Oracle.pm line 39
require DBD/Oracle.pm called at (eval 4) line 3
eval 'package DBI::_firesafe; require DBD::Oracle
;' called at /perl_root/lib/site_perl/DBI.pm line 451
DBI::install_driver('DBI', 'Oracle') called at /perl_root/lib/site_perl/
DBI.pm line 376
DBI::connect('DBI', 'DBI:Oracle:pfs_db') called at ddload_pcdaam.nwpl li
ne 979
main::loadDesyCcy() called at ddload_pcdaam.nwpl line 332
eval {...} called at ddload_pcdaam.nwpl line 331
main::mainLine() called at ddload_pcdaam.nwpl line 188 eval
'package DBI::_firesafe; require DBD::Oracle
;' called at /perl_root/lib/site_perl/DBI.pm line 451
DBI::install_driver('DBI', 'Oracle') called at /perl_root/lib/site_perl/
DBI.pm line 376
DBI::connect('DBI', 'DBI:Oracle:pfs_db') called at ddload_pcdaam.nwpl li
ne 979
main::loadDesyCcy() called at ddload_pcdaam.nwpl line 332
eval {...} called at ddload_pcdaam.nwpl line 331
main::mainLine() called at ddload_pcdaam.nwpl line 188
at ddload_pcdaam.nwpl line 979
----------------------------------------------------------------------
In a simpler test case I got the following.
Somehow, the file is there, but the loader can't see it.
----------------------------------------------------------------------
BB9420_CLIFTSI> perl
use DBI;
use DBD::Oracle;
Can't load 'PERL_ROOT:[LIB.SITE_PERL.VMS_AXP.AUTO.DBD.ORACLE]ORACLE.EXE;1' for m
odule DBD::Oracle: %RMS-E-FNF, file not found
at - line 2
BEGIN failed--compilation aborted at - line 2.
%RMS-F-SYN, file specification syntax error
BB9420_CLIFTSI> dir PERL_ROOT:[LIB.SITE_PERL.VMS_AXP.AUTO.DBD.ORACLE]
Directory PERL_ROOT:[LIB.SITE_PERL.VMS_AXP.AUTO.DBD.ORACLE]
..PACKLIST;1 EXTRALIBS.LD;1 ORACLE.BS;1 ORACLE.EXE;1
ORACLE.OPT;1
Total of 5 files.
BB9420_CLIFTSI>
application/openmail-1166
This message contains confidential information and is intended only
for the individual named. If you are not the named addressee you
should not disseminate, distribute or copy this e-mail. Please
notify the sender immediately by e-mail if you have received this
e-mail by mistake and delete this e-mail from your system.
E-mail transmission cannot be guaranteed to be secure or error-free
as information could be intercepted, corrupted, lost, destroyed,
arrive late or incomplete, or contain viruses. The sender therefore
does not accept liability for any errors or omissions in the contents
of this message which arise as a result of e-mail transmission. If
verification is required please request a hard-copy version. This
message is provided for informational purposes and should not be
construed as a solicitation or offer to buy or sell any securities or
related financial instruments.