Ora 12705 невозможно получить доступ к файлам данных nls либо задана недействительная среда

Обновлено: 07.07.2024

Репутация: 1
Всего: 1

Доброго всем настроения!

Проблема следующая, для многих, наверное уже давно пережеванная, но все что нащел здесь и вообще в и-нете, - частные решения одной и той же проблемы. Перепробовал все, вплоть до смешных и неприемлимых мне вариантов (как то : изменить языковые настройки системы (конфигурировать систему под продукт, а не наоборот, что для меня странно). Но ничего не помогло.

Итак ситуация простая:
WinXP SP2
Oracle 10g XE
SQLDeveloper
сервер=клиент

При попытке образовать соединение

ORA-00604: error occurred at recursive SQL level 1
ORA-12705: Cannot access NLS data files.

Что очевидно, для успешного подключения необходимо соответствие параметров NLS окружения сервера и клиента.

Ну и, собственно, че делать-то?
Спасибы.

Репутация: 2
Всего: 4

Вы какой XE поставили? Их всего два (установочник OracleXE.exe 160мб или OracleXEUniv.exe 210мб).
Если первый, то он ничего кроме LATIN1 не поймет. Соответственно, кириллицу там держать можно, теоретически, но без всякой надежды на сортировку и только если клиент независимо от конфигурации NLS_LANG будет отображать символы в русской кодировке (SQL Devloper не из таких).

Второй - юникод версия. Соответственно он поддерживает преобразования в различные 8 битовые кодировки клиентов. И, соответственно, всякие сортировки для русских строк будут работать правильно. Единственно, раз это юникод, то размер строк нужно указывать в CHAR а не в BYTE.

Варианта сервера XE с какой-либо русской 8 битной кодировкой не предусмотрено.

Репутация: 1
Всего: 1

Версия - OracleXEUniv.exe (Вне всякого сомнения. ).
Дугих версий - нет.
Клиент - не устанавливал (все работает на одной машине. или може все-таки необходим клиент?)

NLS_LANG - RUSSIAN_RUSSIA.CL8MSWIN1251 (как и есть по умолчанию).

Репутация: 1
Всего: 1

Все, всем спасибо. У мя заработало. Как тут закрывать тему?
Еще одно частное решение.
Если кому интересно, вот че я узнал (или понял, опять-таки - на моей отдельной машине) это работает так:

Репутация: 2
Всего: 4

Я тут посмотрел по интернетам. Говорят такое (может врут), что SQL Developer - java приложение. Соответственно он использует драйвер jdbc который идет комплектом с девелопером. В ораклах до 10 версии не было такой страны RUSSIA, а была CIS (это СНГ на буржуйском). В 10 версии появилась RUSSIA и исчезла CIS. Соответственно, если 9-му ораклу сказать RUSSIA - он выдаст ошибку, а если 10 - му сказать CIS - то тоже ошибка.

SQL Developer использует драйвер jdbc, который идет вместе с ним. В этом драйвере зашита таблица, которая в соответствии с языком виртуальной машины java содержит соответствие название территории. Та таблица, что Вы привели. Соответственно, если версия девелопера была заточена на 9-ку, то она будет выдавать CIS. И сервер 10-ка его не поймет.
Нужно поднять версию девелопера, или заменить у него драйвер jdbc (файлы ojdbc14.jar и orai18n.jar) на более новый (от 10-ки).
Поможет ли это, - не знаю. Я не пользую SQL Developer.

Leprechaun Software Developer

Репутация: 18
Всего: 534


Не врут. Но проблема вроде только в драйвере от 10g XE, в 10g такой проблемы не было.

Репутация: 1
Всего: 1

А чем же лучше воспользоваться?

Leprechaun Software Developer

Репутация: 18
Всего: 534

Репутация: 2
Всего: 4

ну toad, sqlplus.
Дело не в том, что лучше, а в том, что мне не требуется.

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

[ Время генерации скрипта: 0.1247 ] [ Использовано запросов: 21 ] [ GZIP включён ]

На днях я получил эту досадную ошибку оракула: ORA-12705: не удается получить доступ к файлам данных NLS или недействительной заданной среде. Забавно, что я не пытался получить доступ к файлам данных NLS

ОТВЕТЫ

Ответ 1

Возможны две причины:

Была предпринята попытка выдать инструкцию ALTER SESSION с недопустимым параметром или значением NLS.

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

Отменить переменную среды NLS_LANG

Windows. NLS_LANG должен быть удален в реестре Windows (лучше всего переименовать). Найдите подраздел NLS_LANG в реестре в \HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE и переименуйте его.

Linux/UNIX - здесь вы просто выдаете команду Linux "unset NLS_LANG"

Ответ 2

У меня есть Oracle 10g XE и Windows 7. Я решил это следующим образом:

Перейдите в Панель управления > Региональные и языковые параметры > Отформатируйте и установите язык.

Ответ 3

Следуйте этой процедуре, чтобы установить переменную среды NLS_LANG для баз данных Oracle. Чтобы установить переменную среды NLS_LANG для баз данных Oracle Определите значение NLS_LANG. В базе данных хранилища данных выполните команду SELECT * FROM V $NLS_PARAMETERS

Запишите значение NLS_LANG, которое находится в формате [NLS_LANGUAGE] _ [NLS_TERRITORY]. [NLS_CHARACTERSET]. Например: American_America.UTF8 Для Windows: Перейдите в "Панель управления" > "Система" и перейдите на вкладку "Дополнительно". Выберите переменные среды. В разделе "Системные переменные" нажмите "Создать". В поле Имя переменной введите NLS_LANG. В поле "Значение переменной" введите значение NLS_LANG, которое было возвращено на шаге 1. Формат значения NLS_LANG должен быть [NLS_LANGUAGE] _ [NLS_TERRITORY]. [NLS_CHARACTERSET]. Например: American_America.UTF8. Для UNIX установите переменную, как показано ниже: setenv NLS_LANG

Перезагрузите компьютер после создания переменной.

Ответ 4

Вы также можете просто установить конфигурацию NLS в настройках оракула

Ответ 5

После добавления пути в переменную среды Oracle Instant client Oracle SQLPLUSW переходит к клиенту Oracle Instant, и для этого клиента требуется установить NLS LANG AS American_America.UTF8

Ответ 6

Ответ 7

Если вышеприведенные решения не помогли, можете попробовать мое решение. Я только что заменил последнюю версию Ojdbc14.jar на более старую версию Ojdbc5.jar . Это помогло мне решить мою проблему.

У меня есть вопрос, который сводит меня с ума на моем ноутбуке, у меня есть oracle-xe 10.2.0 на ubuntu Кодировка БД : AMERICAN_AMERICA.AL32UTF8 Значение nls_lang=AMERICAN_AMERICA.AL32UTF8 public static void main(String[] args) throws Exception < // Default locale before overwriting is ru_RU //.

Есть две возможные причины:

Была предпринята попытка выдать инструкцию ALTER SESSION с недопустимым параметром или значением NLS.

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

Снимите значение переменной среды NLS_LANG

Windows - NLS_LANG должен быть сброшен в реестре Windows (лучше всего переименовать). Найдите подраздел NLS_LANG в реестре по адресу \HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE и переименуйте его.

Linux/UNIX - Здесь вы просто выполняете команду Linux "unset NLS_LANG"

У меня есть Oracle 10g XE и Windows 7. Я решил это следующим образом:

Перейдите в панель управления > Региональные и языковые параметры > Формат и установите свой язык.

Выполните эту процедуру, чтобы установить переменную среды NLS_LANG для баз данных Oracle. Чтобы установить переменную среды NLS_LANG для баз данных Oracle Определите значение NLS_LANG. В базе данных хранилища данных выполните команду SELECT * FROM V$NLS_PARAMETERS

Запишите значение NLS_LANG, которое находится в формате [NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET]. Например: American_America.UTF8 Для Windows: Перейдите в Панель управления > Система и перейдите на вкладку Дополнительно. Щелкните Переменные среды. В разделе Системные переменные нажмите кнопку Создать. В поле Имя переменной введите NLS_LANG. В поле Значение переменной введите значение NLS_LANG, возвращенное на шаге 1. Формат значения NLS_LANG должен быть [NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET]. Например: American_America.UTF8. Для UNIX установите переменную, как показано ниже: setenv NLS_LANG

Перезагрузите компьютер после создания переменной.

В моем случае я создавал адаптер базы данных в консоли oracle weblogic, решите проблему, выполнив следующую конфигурацию. Windows -> панель управления -> регион: 1. Измените формат на английский (Соединенные Штаты) формат даты M / d / yy и 2. Измените мой адрес на Соединенные Штаты. Выполните эту настройку, потому что моя машина была настроена на испанский язык, затем перезагрузите компьютер, и я работал без проблем.

Вы также можете просто установить конфигурацию NLS в настройках oracle

После добавления пути в переменную окружения Oracle Instant client Oracle SQLPLUSW переходит к Oracle Instant client, и для этого клиента требуется установить NLS LANG КАК American_America.UTF8

В случае, если вышеуказанные решения не помогли, можете попробовать мое решение. Я только что заменил свою последнюю версию Ojdbc14.jar на более старую версию Ojdbc5.jar . Это помогло мне решить мою проблему.

Когда я запускаю скрипт jmeter с подключением JDBC, у меня возникает следующая ошибка: ORA-00604: error occurred at recursive SQL level 1 ORA-12705: Cannot access NLS data files or invalid environment specified Я могу подключиться к базе данных с помощью sqldeveloper и запроса SELECT USERENV.

Похожие вопросы:

Прошлой ночью я установил sp3 и cu1 на кластер 64 bit SQL 2005 failover. Все прошло хорошо. Службы Reporting services устанавливаются на основном узле. Теперь он не может подключиться к Oracle.

Мы используем Oracle на нашем сервере в течение многих лет, но кто-то из IT удалил его вчера без четкого предупреждения, и он действительно бросил наши системы! Я действовал по совету cwallenpoole.

У меня есть вопрос, который сводит меня с ума на моем ноутбуке, у меня есть oracle-xe 10.2.0 на ubuntu Кодировка БД : AMERICAN_AMERICA.AL32UTF8 Значение nls_lang=AMERICAN_AMERICA.AL32UTF8 public.

Когда я запускаю скрипт jmeter с подключением JDBC, у меня возникает следующая ошибка: ORA-00604: error occurred at recursive SQL level 1 ORA-12705: Cannot access NLS data files or invalid.

У меня есть ошибка ORA-12705: не удается получить доступ к файлам данных NLS или недопустимой среде, указанной при запуске моей программы в eclipse. Вещи, которые я пробовал до сих пор: Я уже.

У меня есть ошибка при попытке подключиться к базе данных oracle: Query execution failed Reason: SQL Error [12705] [72000]: ORA-12705: Cannot access NLS data files or invalid environment specified.

Решение ошибки «Невозможно получить доступ к файлам данных NLS или указана недопустимая среда» в клиентском средстве Oracle

Он был установлен несколько дней назад Navicat for Oracle Этого Oracle После использования клиентского инструмента ошибок не было, пока я не установил его на компьютер в школьном компьютерном классе, и ошибка не появилась.Поначалу я подумал, что это те, которые нужны. dll Если файл не настроен, то написанные в предыдущем блоге dll Я перенастроил файл и проверил его. Думаю, что все в порядке. Когда я снова открываю программу, ошибка все еще сохраняется. Кажется, теперь мне нужно выйти в Интернет, чтобы найти решение. После нескольких минут поиска, Я наконец нашел решение ошибки. Позвольте мне рассказать о решении:

Во-первых, когда вы используете этот инструмент для создания нового подключения и нажимаете кнопку «Проверка подключения», появляется следующая ошибка:

ORA-12705: Cannot access NLS data files or invalid environment specified 。

как показано на картинке:


Фактически, не только это программное обеспечение будет иметь эту ошибку, но и другие клиентские инструменты также могут иметь эту ошибку.Причина ошибки может заключаться в том, что в системе установлено что-то еще. Oracle Что касается версии, то есть проблема с настройкой реестра определенного элемента, и компьютер в школьном компьютерном классе установлен Oracle 9i Следовательно, эта версия базы данных вызывает вышеупомянутую ошибку. Решение очень простое, достаточно изменить реестр. Сначала в Windows нажми Win+R Комбинированные клавиши, чтобы открыть диалоговое окно запуска, введите " regedit "Command, откройте реестр и найдите следующие места по очереди:

Найти ключ » NLS_LANG "Этот ключ, этот ключ состоит из Oracle Создание стандартной клиентской установки , Ценность NA . Это то, что вызвало ORA-12705 неправильная причина. Просто измени его значение (NV) изменить на " SIMPLIFIED CHINESE_CHINA.ZHS16GBK "Вот и все.

как показано на картинке:


Но сложно ли изменять этот способ каждый раз, поэтому мы пишем файл реестра, содержимое файла выглядит следующим образом:

Люблю я сис.админов.
Сами телепаты, и всех окружающих телепатами считают.

Откуда брал дистрибутивы? Для каких операционок? какие ошибки и проблемы получил? Что именно не работает?

Neutron ➤ Ставил , Все прекрасно работает!

Mtirt ➤ Люблю я сис.админов.
Сами телепаты, и всех окружающих телепатами считают.

Откуда брал дистрибутивы? Для каких операционок? какие ошибки и проблемы получил? Что именно не работает?

Так же столкнулся с проблемой при установке, ставим на Win7 x32
oracle client 8 (reports)
oracle client 10.2 runtime
супермаг 2000 1.027.3
patch 1.027.3.3

Ошибок было две, первая ругалась на то, что невозможно выделить место в области пользователя, с ней я справился увеличив файл подкачки.

Исходя из причины. гугласеч выдал

ORA - 12705 : Нет доступа к файлам данных NLS или определенная неправильная среда .
Причина : Или попытка была сделана , чтобы выполнить команду ALTER SESSION с неправильным параметром NLS или значения ; или переменная среды ( сред ) NLS_LANG , ORA_NLSxx , или ORACLE_HOME неправильно была определена , следовательно файлы данных NLS не могут быть расположены .
Действие : Проверьте синтаксис командыALTER SESSION и параметр NLS , корректируйте синтаксис и делайте новую попытку утверждением или определяйте правильный путь / величины директория в переменных среды .
Встало у тебя все нормально. Суперглюк не может к базе приконнектится(ИМХО).
Проверяй NLS_LANG.
Проверяй ORACLE_HOME.
Проверяй PATH. tolik ➤ Добрый день.Кто-нибудь ставил? Не смог нормально прикрутить оракл_клиент 10 на 7-ку, что касается 11-го ставится с ошибками. Надо ставить 11R2 и если скачивал с ФТП сервис плюса, надо второй архив распаковать и скопировать в первый и будет тебе счастье без ошибок

Была замена сервера (Win2003stR2+Oracle9i).Клиент под Win7(х86) к старому серверу подключался безпроблем(как надо).

Сейчас новый серв. клиент(СМ1.027.4_2) подключается очень долго (2-3 минуты) так же стоит утилита печали ценников..с ней такая же история? у кого было подобное?

Читайте также: