Oracle Client Example Configuration on Windows

Example environment:
  • Instant Client - Basic at C:\instantclient_11_2, to use American English
  • Oracle 11.2 on a Windows system at C:\oracle\product\11.2.0\db_1, installed to support international data
Variable settings on the system where the client and Build Forge are installed:
  • LD_LIBRARY_PATH includes C:\instantclient_11_2\
  • NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252
  • ORACLE_HOME=C:\instantclient_11_2\
  • ORA_NLS10=C:\oracle\ocommon\nls\admin\data
  • PATH includes C:\instantclient_11_2\
  • TNS_ADMIN=C:\oracle\product\11.2\db_1\network\admin

About NLS_LANG on Windows Systems

The Oracle client on windows uses a setting in windows to perform local character mapping.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\ACP

When the client sends data to the server, the characters are sent in the server's character mapping.

The example NLS_LANG setting above corresponds to an ACP setting of 1252, the default for US Windows. For other languages, consult the Oracle InstantClient documentation to get the correct language, locale, and character map parts of NLX_LANG. Be sure to check the actual ACP setting on your Windows system and make the character mapping part of the setting match it.

The character maps for other languages are as follows. Use them in combination with the correct language and locale to create the NLS_LANG setting.

1250 EE8MSWIN1250
1251 CL8MSWIN1251
1252 WE8MSWIN1252
1253 EL8MSWIN1253
1254 TR8MSWIN1254
1255 IW8MSWIN1255
1256 AR8MSWIN1256
1257 BLT8MSWIN1257
1258 VN8MSWIN1258
874  TH8TISASCII
932  JA16SJIS
936  ZHS16GBK
949  KO16MSWIN949
950  ZHT16MSWIN950
Note: If the character mapping is not set correctly, you do not get a warning and at first there is no obvious difference in behavior or performance. The client attempts to make character conversions in memory. When it runs out of memory and needs to swap to perform the conversions, performance in communication between the client and server degrades radically.