> I've tried setting every standard Oracle environment
> variable in both httpd.conf (even using both SetEnv
> and PerlSetEnv) and in the script itself (NLS_LANG,
> ORACLE_HOME, LD_LIBRARY_PATH, ORACLE_SID). What am I
> missing?
DBD::Oracle needs these variables when DBD::Oracle is loaded. which means
they need to be in %ENV _before_ the script that first use()s DBD::Oracle is
loaded. httpd.conf is generally too late if you preload your modules via a
startup.pl, or a module you PerlModule itself somehow loads it.
the typical way to do this is to place something like the following in your
startup.pl
BEGIN {
$ENV{ORACLE_HOME} = ...
}
use DBD::Oracle;
see recipe 2.9 in the mod_perl developer's cookbook as a reference, if you like.
HTH
--Geoff