Hi, I have been having problems with DBD::Oracle when I tried to use a different Oracle client version from the database server. In this case the client is 11.2.0.2.0 and the database is 11.1.0.6.0.
When I set my client to the 11.2 version, the connect to the database failed with: "Connection to dB failed due to : ERROR OCIEnvNlsCreate. Check ORACLE_HOME env var, NLS settings, permissions, etc.." This is because using LD_RUN_PATH when compiling, causes the dynamic runtime linker to first look in the ORACLE_HOME used when Oracle.so was compiled, when executing the code. So the end result is a mixture of versions of the Oracle libraries being used, if the the environment is switched to another Oracle version. So what I found was that if I commented out the LD_RUN_PATH from the makefile and re-installed the module that I could connect no matter what client version I used. >From browsing the net, it looks to me that the use of LD_RUN_PATH was added, but to me its use just stops easily changing Oracle clients. Does any one have any more information on this, I would like to check that I am not missing something else fundamental. Thanks Pete