вторник, 24 февраля 2015 г.

Работа с NLS

Зачастую при работе с разными базами клиентов приходится менять кодировку:


Для этого есть несколько вариантов, в зависимости от платформы на которой работаем.

Windows:
меняем значение в реестре:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_OraClient11g_home1

Пример:
NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251
NLS_LANG=AMERICAN_AMERICA.AL32UTF8

В командной строке:

set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
set NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251

После '=' пишем язык_территорию.чарсет который нам нужен.

Linux/UNIX:

export NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8


Формат времени и даты у нас на компьютере может отличаться от формата в базе, для приведения в тот же вид используем:

alter session set nls_date_format='DD-MM-YYYY'; --1--
--1-- Или другой формат по необходимости.



Подобным образом меняются любые параметры NLS

Просмотр текущих значений NLS в базе:

SQL> show parameter nls

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
nls_calendar                         string      GREGORIAN
nls_comp                             string      BINARY
nls_currency                         string      $
nls_date_format                      string      DD/MM/YY
nls_date_language                    string      AMERICAN
nls_dual_currency                    string      $
nls_iso_currency                     string      AMERICA
nls_language                         string      RUSSIAN
nls_length_semantics                 string      BYTE
nls_nchar_conv_excp                  string      FALSE
nls_numeric_characters               string      .,
nls_sort                             string      BINARY
nls_territory                        string      CIS
nls_time_format                      string      HH.MI.SSXFF AM
nls_time_tz_format                   string      HH.MI.SSXFF AM TZR
nls_timestamp_format                 string      DD-MON-RR HH.MI.SSXFF AM
nls_timestamp_tz_format              string      DD-MON-RR HH.MI.SSXFF AM TZR

Комментариев нет:

Отправить комментарий