NLS parameters

Oracle has many NLS parameters, but only a small number affect the behavior of the LN application.

Most parameters are irrelevant, because the Oracle driver interfaces on such a low level that these parameters have no effect.

For example, the Oracle driver handles date and time values in the internal (7-byte) Oracle format. All Oracle conversions affected by the NLS date and time parameters are not used.

The nls_parameters with an affect are mentioned later. For a more detailed description of these parameters, see the Oracle documentation.

nls_characterset

This parameter is determined at the creation time of the database instance. Each Oracle (client) application has a unique setting. If the nls_characterset of the Oracle instance does not match with the Oracle client, Oracle converts between the character sets. If a character is not available, a replacement character, such as the base character without accents ? or ¿ display.

While this feature seems beneficial, for an application such as LN that wants to retrieve the data from the RDBMS exactly as the data was added, data corruption must be avoided. You can force the Oracle client application (the LN Oracle driver) to use the same nls_characterset as the Oracle instance.

The only way to set the nls_characterset for a client application is to specify the nls_lang variable. Note that this also affects the nls_language and nls_territory parameters, because the definition of nls_lang is:

nls_lang = <nls_territory>_<nls_language>.<nls_characterset>

The LN Oracle driver verifies the nls_characterset parameter, and an error is logged in case of a mismatch. To avoid data corruption, the driver stops.

nls_comp

To avoid the problems as described in the section Collation and Sorting, the Oracle driver always sets this parameter to LINGUISTIC when operating in Unicode mode. When operating in Single Byte or MultiByte mode the parameter is set to BINARY.

nls_language

This parameter is implicitly set if nls_lang is specified.

This parameter does not affect the LN application; however, Oracle error strings written in the error log file of the database driver appear in this language.

nls_sort

The default value depends on other NLS parameters, and is determined at Oracle installation time.

The parameter must be set to a supported value as described in Collation and Sorting.

nls_territory

This parameter is implicitly set if nls_lang is specified.

This parameter does not affect LN.

nls_nchar_characterset

This parameter is only relevant if the Oracle driver runs in Unicode mode. Preferably, set this value to AL16UTF16 (UTF-16 encoding).