Настройка на NLC_LANG за Oracle Client, блог на StasyakOFF

Настройка на NLS_LANG за PLSQL разработчик

Симптоми: има таблица, към нея са добавени записи на кирилица (не чрез PLSQL Developer). При заявка на тези записи кирилицата се изписва правилно. Но ако вмъкнем кирилица от нашия PLSQL Developer, тогава при запитване към тези записи ще получим въпросителни знаци вместо кирилица. Това е сигурен знак, че нещо не е наред с променливата NLS_LANG.

За да диагностицирате проблема, трябва да активирате проверката на кодирането в PLSQL Developer

stasyakoff
Снимка 1.

oracle
Снимка 2.

Опитваме се да се свържем с базата данни. Получих това полезно предупреждение:

nlc_lang
Снимка 3.

Остана да добавим NLS_LANG като променлива на средата. След рестартиране на plsql developer всичко работи както трябва.

stasyakoff
Снимка 4.

За справка: За да видите текущото кодиране на базата данни, в plsql developer, в менюто File->New->SQL Window, командата SELECT * FROM NLS_DATABASE_PARAMETERS;

Кодиране на клиента: SELECT * FROM NLS_SESSION_PARAMETERS;

Синтаксисът за променливата NLS_LANG е: _. където - език на съобщението - NLS параметри - представяне на дати, разделители и др. по подразбиране и SORT ! Но можете да зададете отделно NLS_SORT - CHARACTERSET, в който клиентът работи и иска да вижда и въвежда данни