Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Oracle > Все что нужно знать об NLS_LANG |
Автор: Royan 12.12.2007, 18:53 | ||||
Я почитал, что нашлось на форуме по этому поводу и посчитал, что тема не раскрыта. А поскольку сам недавно столкнулся с проблемой, то, дабы новые знания не канули в лету предлагаю следующую краткую справку по теме: Параметр NLS_LANG задает на вашей системе языковую настройку для Oracle'а, если проще, то язык. На Windows в большинстве случаев эта настройка задается в реестре HKLM/Software/Oracle ключом NLS_LANG. Также можно задать этот параметр в переменных среды или окружения, но так делается редко и это не рекомендуется. Причиной тому служит тот факт, что переменные среды приоритетнее значения получаемого из реестра и будут использоваться для *ВСЕХ* ораклов, имеющихся у вас на сервере (то есть всего, что у вас записано в переменной oracle_home) . В свою очередь на *nix системах задается именно переменная окружения (переменная системы не рекомендуется по тем же причинам) Все возможные значения для NLS_LANG можно получить так:
Важно понимать, что основная проблема, которая возникает по причине параметра NLS_LANG связана с тем, что языковая настройка оракла не совпадает с той, что используется на вашей клиентской машине (той с которой вы коннектитесь к ораклу). Физически это может выразится вот в такой ошибке: ORA-12705: Cannot access NLS data files or invalid environment specified. Поэтому интересно получить значение, которое использует Oracle. Это просто:
На всякий случай, значением по умолчанию для NLS_LANG является "American". Также по теме рекомендую статью http://www.oracle.com/technology/tech/globalization/htdocs/nls_lang%20faq.htm |
Автор: nicotin 25.12.2013, 07:34 |
для 64 битной оси HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\-=у всех по-разному=- для 32 битной оси HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\-=у всех по-разному=- ключ NLS_LANG там прописано значение, которое на клиенте |