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.

Reply via email to