On May 27, 2009, at 2:01 PM, Steven Schlansker wrote:
On May 23, 2009, at 1:34 AM, Martin J. Evans wrote:
Steven Schlansker wrote:
Some instant clients don't work properly with ORACLE_HOME set but
NEED LD_LIBRARY_PATH pointing to the instant client directory where
the shared libs are. I guess you didn't want this but I'd try
unsetting ORACLE_HOME and setting LD_LIBRARY_PATH.
Ugh. This is extremely inconvenient. Is it possible to use -R (-
rpath for GNU ld) instead, so I don't have to set LD_LIBRARY_PATH?
Doing so seems to make the tests happier, but it will wreak havoc on
the application using DBD::Oracle...
Is there any other solution?
I should have been more specific with this - hopefully some additional
information will help. By setting LD_LIBRARY_PATH causes the tests to
now fail with couldn't contact Oracle server, which is expected as I
never set up the SID and whatnot.
I set LD_LIBRARY_PATH in my Perl script as such
BEGIN {
$ENV{'ORACLE_HOME'} = '/remote/netdb/instantclient_10_2';
$ENV{'LD_LIBRARY_PATH'} = "$ENV{'LD_LIBRARY_PATH'}:/remote/
netdb/instantclient_10_2";
}
(Commention out ORACLE_HOME doesn't seem to affect anything either way)
However, I still get the error
Error while processing previous request: DBI connect('instance/
server','user',...) failed: ERROR OCIEnvNlsCreate. Check ORACLE_HOME
(Linux) env var or PATH (Windows) and or NLS settings, permissions,
etc. at /var/path/blah...
when doing the above environment modifications fixed it on the command
line.
Any ideas?
Thanks again,
Steven