NLS параметры сессии

Обсуждение возникших проблем, предложений и ошибок dbForge for Oracle
Закрыто
handeh0h
Сообщения: 9
Зарегистрирован: Пн 17 ноя 2014 10:10

NLS параметры сессии

Сообщение handeh0h » Чт 19 фев 2015 07:34

v3.7.472
Не могу понять, каким образом можно задать дефолтные переменные для сессии. Использую instant client, тип соединения – TNS. В реестре ничего не прописано. Задана глобальная переменная окружения NLS_LANG=RUSSIAN_RUSSIA.CL8MSWIN1251.

Код: Выделить всё

select * from sys.nls_session_parameters where parameter in ('NLS_LANGUAGE', 'NLS_TERRITORY', 'NLS_CHARACTERSET', 'NLS_SORT');

Код: Выделить всё

PARAMETER                      VALUE                                    
------------------------------ ---------------------------------------- 
NLS_LANGUAGE                   RUSSIAN
NLS_TERRITORY                  CIS
NLS_SORT                       BINARY
Выбрано 3 записей
При тех же условиях выполняю этот же запрос в Oracle SQL Developer, получаю то, что и ожидаю

Код: Выделить всё

NLS_LANGUAGE   RUSSIAN
NLS_TERRITORY  RUSSIA
NLS_SORT       RUSSIAN
Пробовал прописывать NLS_LANG в реестре – результат никак не менялся. Пока не нашел ничего лучшего как явно в сессии устанавливать

Код: Выделить всё

alter session set nls_territory = russia;
когда нужно поработать с регэкспами (которые не работают с русскими буквами при NLS_SORT=BINARY). Может есть какой-то еще выход?

Alexander

Re: NLS параметры сессии

Сообщение Alexander » Пт 20 фев 2015 11:54

В данный момент мы занимаемся исследованием данного вопроса и свяжемся с Вами в ближайшее время.

Alexander

Re: NLS параметры сессии

Сообщение Alexander » Пт 20 фев 2015 13:50

Не могли бы Вы сообщить нам следующую информацию:

1. Разрядность dbForge Studio for Oracle (x32 или x64).
2. Разрядность Windows.
3. Разрядность клиента Oracle.

handeh0h
Сообщения: 9
Зарегистрирован: Пн 17 ноя 2014 10:10

Re: NLS параметры сессии

Сообщение handeh0h » Пт 20 фев 2015 14:50

Alexander писал(а):Не могли бы Вы сообщить нам следующую информацию:

1. Разрядность dbForge Studio for Oracle (x32 или x64).
2. Разрядность Windows.
3. Разрядность клиента Oracle.
1. x64
2. x64
3. x64 (вообще стоят оба клиента и x86 и x64)

Alexander

Re: NLS параметры сессии

Сообщение Alexander » Вт 24 фев 2015 15:02

Не могли бы Вы выполнить следующее:

1. В командной строке выполните команду, приведенную ниже и пришлите нам сгенерированный set_info.txt файл:

SET >set_info.txt

2. Экспортируйте следующую ветку реестра HKEY_LOCAL_MACHINE -> SOFTWARE -> ORACLE и пришлите её нам.

Вы можете прислать ответ напрямую в нашу службу поддержки на supportATdevartDOTcom

handeh0h
Сообщения: 9
Зарегистрирован: Пн 17 ноя 2014 10:10

Re: NLS параметры сессии

Сообщение handeh0h » Чт 26 фев 2015 10:48

1. Почему-то не удалось прицепить вложение, закидываю вывод переменных в сообщение
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\dzh\AppData\Roaming
CLASSPATH=C:\PVSW\bin\pvjdbc2x.jar;C:\PVSW\bin\pvjdbc2.jar;C:\PVSW\bin\jpscs.jar
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=***
ComSpec=C:\Windows\system32\cmd.exe
FARHOME=C:\Program Files\Far2
FARLANG=Russian
FP_NO_HOST_CHECK=NO
GIT_PYTHON_TRACE=full
HOMEDRIVE=C:
HOMEPATH=\Users\dzh
https_proxy=https://127.0.0.1:3131
http_proxy=http://127.0.0.1:3131
LD_LIBRARY_PATH=C:\Windows\System32\11g
LOCALAPPDATA=C:\Users\dzh\AppData\Local
LOGONSERVER=\\VONG
NLS_LANG=RUSSIAN_RUSSIA.CL8MSWIN1251
NUMBER_OF_PROCESSORS=8
ORACLE_HOME=C:\Windows\System32\11g
OS=Windows_NT
Path=C:\ProgramData\Oracle\Java\javapath;E:\Program\Python34\;E:\Program\Python34\Scripts;C:\Windows\System32\11g;C:\PVSW\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;E:\Program\Diffuse;e:\Program\Git\cmd
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 58 Stepping 9, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=3a09
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SQL_PATH=C:\Windows\System32\11g
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\dzh\AppData\Local\Temp
TMP=C:\Users\dzh\AppData\Local\Temp
TNS_ADMIN=C:\Windows\System32\11g\network\admin
UATDATA=C:\Windows\CCM\UATData\D9F8C395-CAB8-491d-B8AC-179A1FE1BE77
USERDNSDOMAIN=***
USERDOMAIN=***
USERNAME=dzh
USERPROFILE=C:\Users\dzh
VSL=C:\PVSW\\bin
windir=C:\Windows
windows_tracing_flags=3


2. У меня нет данной ветки в реестре. По идее, переменные окружения имеют более высокий приоритет.

Alexander

Re: NLS параметры сессии

Сообщение Alexander » Чт 26 фев 2015 14:11

Спасибо за ответ.

Не могли бы Вы выполнить следующее:

1. Пришлите нам скриншот (аналогичный тому, что мы выслали Вам на e-mail), отображающий текущие настройки NLS.
2. Выберите опцию 'Skip NLS Settings' (отображена на скриншоте, что мы Вам отослали).
3. Переоткройте Oracle SqlDeveloper.
4. Снова выполните Ваш запрос:

Код: Выделить всё

select * from sys.nls_session_parameters where parameter in ('NLS_LANGUAGE', 'NLS_TERRITORY', 'NLS_CHARACTERSET', 'NLS_SORT');
и сообщите нам результат.

handeh0h
Сообщения: 9
Зарегистрирован: Пн 17 ноя 2014 10:10

Re: NLS параметры сессии

Сообщение handeh0h » Пт 27 фев 2015 04:43

Alexander писал(а):1. Пришлите нам скриншот (аналогичный тому, что мы выслали Вам на e-mail), отображающий текущие настройки NLS.
1 - Without NLS skip
1 - Without NLS skip.PNG
1 - Without NLS skip.PNG (216.58 КБ) 21043 просмотра
Alexander писал(а):2. Выберите опцию 'Skip NLS Settings' (отображена на скриншоте, что мы Вам отослали).
3. Переоткройте Oracle SqlDeveloper.
4. Снова выполните Ваш запрос:

Код: Выделить всё

select * from sys.nls_session_parameters where parameter in ('NLS_LANGUAGE', 'NLS_TERRITORY', 'NLS_CHARACTERSET', 'NLS_SORT');
и сообщите нам результат.
2 - With NLS skip
2 - With NLS skip.PNG
2 - With NLS skip.PNG (217.62 КБ) 21043 просмотра

Alexander

Re: NLS параметры сессии

Сообщение Alexander » Вт 03 мар 2015 10:15

dbForge выводит то же, что и SQL Developer с опцией Skip NLS Settings.

Как видно из результатов (NLS_SORT BINARY), клиент настроен неверно. Возможно, это связано с особенностями instant client.

Как вариант, Вы можете:

1. Продолжать в каждом запросе указывать нужный set NLS.
2. Настроить этот instant client.
3. Установить другой клиент и попытаться настроить его.

Также, мы рассмотрим возможность реализации функциональности, аналогичной SQL Developer.

handeh0h
Сообщения: 9
Зарегистрирован: Пн 17 ноя 2014 10:10

Re: NLS параметры сессии

Сообщение handeh0h » Ср 04 мар 2015 04:08

Так я и не нашел в базе где переопределяются nls параметры после коннекта =(, поэтому будет здорово если реализуется настройка переменных как в с.девелопере.
Извиняюсь что отнял время не все до конца перепроверив. Спасибо за помощь и ваше время)

Alexander

Re: NLS параметры сессии

Сообщение Alexander » Ср 04 мар 2015 15:27

Пожалуйста, обращайтесь, если у Вас возникнут какие-либо вопросы.

Закрыто