We're trying to run a Perl program to connect to an Oracle 10 instance, on a RH box. From the xterm it runs fine- connects, R/W, everything is ducky. no issues whatsoever.
Then we tried it from a browser (apache server) and it's been a nightmare for days. After hours of research and trials, we finally managed to get past the "Cannot load Oracle.so"errors by modifying the ld conf file in /etc., rebuilding the DBI, etc. Now we've graduated to failed: "ERROR OCIEnvNlsCreate. Check (everything)" which basically says (*something* is wrong). We went on a second research expiditon, and checked permissions, versions, modified ENV vars for NLS, yet nothing seems to help; we just keep getting this same message. The fiull message suggests a problem with ORACLE_HOME, ORA_NLS10, NLS_LANG, and "etc" which we interpret to mean (anything at all). We populated NLS_LANG to match *locale*. We also tried several other options like america.american, etc. The error occurs at the Connect() step. I threw it into an eval{} block and checked perlvars for messages, but they were the same as the fataltobrowser message below. Finally, we use the same DBI to connect just fine from a browser to mysql. So we know the DBI is at least functioning for some DBDs. Any advice on howe to isolate this to a file or conf value, etc would be most welcome! Here is the info we can extract to try to get an idea of what it doesnt like: available_drivers: DBM ExampleP Oracle Proxy Sponge mysql ENV VARS DOCUMENT_ROOT = /var2/www/html GATEWAY_INTERFACE = CGI/1.1 HTTP_ACCEPT = */* HTTP_ACCEPT_ENCODING = gzip, deflate HTTP_ACCEPT_LANGUAGE = en-us HTTP_HOST = ournode.com HTTP_UA_CPU = x86 HTTP_USER_AGENT = Mozilla/4.0 LD_LIBRARY_PATH = /export/apps/oracle/product/10201/lib LD_RUN_PATH = /export/apps/oracle/product/10201/lib NLS_LANG = en_GB.UTF-8 ORACLE_BASE = /export/apps/oracle ORACLE_HOME = /export/apps/oracle/product/10201 ORA_NLS10 = /export/apps/oracle/product/10201/nls/data/ REQUEST_METHOD = GET REQUEST_URI = /cgi-bin/oratest.cgi SERVER_PORT = 80 SERVER_PROTOCOL = HTTP/1.1 SERVER_SIGNATURE = Apache/2.0.52 (Red Hat) Server at ournode.com Port 80 SERVER_SOFTWARE = Apache/2.0.52 (Red Hat) DBI connect(...) failed: ERROR OCIEnvNlsCreate. Check ORACLE_HOME (Linux) env var or PATH (Windows) and or NLS settings, permissions, etc. at /cgi-bin/oratest.cgi line 32