Windows XP Pro
I wrote a program that uses DBI + OCI8. It compiles fine, but when I
run the executable I get an NLS_LANG error from Oracle. This does not
happen if I run it from the command line.
env.c:257:in oci8lib.so: ORA-12705: invalid or unknown NLS parameter
value specified (DBI::DatabaseError)
initialize' from C:/DOCUME~1/djberge/eee/eee.ntm.exe.3/lib/DBD/OCI8/ OCI8.rb:54:innew’
connect' from C:/DOCUME~1/djberge/eee/eee.ntm.exe.3/lib/dbi.rb:424:inconnect’
connect' from C:\DOCUME~1\djberge\eee\eee.ntm.exe.3\app\ntm.rb:16 from C:\DOCUME~1\djberge\eee\eee.ntm.exe.3\bootstrap.rb:77:inload’
The only way that can happen is if it’s reading from the registry,
because I definitely do NOT have an NLS_LANG environment variable set,
though it’s set in the registry to “NA” (North America). I tried
several things - explicitly setting the NLS_LANG environment variable
to nil, setting ORACLE_HOME and/or TNS_ADMIN explicitly, etc.
However, the only thing that worked was to literally rename the
NLS_LANG registry entry under
Why is that happening?