But beware that setting ORACLE_HOME to a different version to the one
that's supplying the Oracle client library (via LD_LIBRARY_PATH etc)
is likely to cause problems, like not being able to get the text of an
error message, or worse.

Tim.

On Wed, Sep 18, 2002 at 01:28:20PM -0400, [EMAIL PROTECTED] wrote:
> 
> 
> -- Ellen Yu <[EMAIL PROTECTED]> on 09/18/02 09:59:41 -0700
> 
> > A related question:
> > 
> > Is there anyway to "hard code" the Oracle environment variables somewhere
> > in the perl directories such that if someone uses "/usr/bin/perl"  they
> > will automatically use a certain Oracle client directory.  My shop has
> > several client versions of Oracle and some of them would have to either
> > reset their environment variables or change their perl scripts.
> > 
> > I'm trying to think of a way where they don't have to do either,
> > preferably without multiple installations of perl.
> 
> Use a single module that checks the versions and exports
> an environment based on the internal logic. Locate the 
> module in separate perl installations and you'd have perl-
> specific settings; share them and you'd have oracle-specific
> settings.
> 
> Something like:
> 
> my %baseenv = 
> (
>     foo => 'bar',
>     ...
> 
>     # constant between shells
> 
>     HOME    => $ENV{HOME},
>     TERM    => $ENV{TERM},
>     ...
> );
> 
> if( (my $a = subcall_that_checks_oracle) eq '1.2.3.4' )
> {
>     $baseenv{ORACLE_HOME} = 'whatever'
> }
> elsif( $a eq '4.3.2.1' )
> {
>     $baseenv{ORACLE_HOME} = 'whatever-else';
> }
> 
> ....
> 
> %ENV = %baseenv;
> 
> exit system( $ENV{SHELL} );
> 
> 
> 
> 
> --
> Steven Lembark                              2930 W. Palmer
> Workhorse Computing                      Chicago, IL 60647
>                                            +1 800 762 1582

Reply via email to