ORA-12705: невозможно получить доступ к файлам данных NLS или недействительной среде

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

Ответ 1

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

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

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

Fix:

Отменить переменную среды 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

Например: setenv NLS_LANG American_America.UTF8. Если ваши данные являются 7-битными или 8-разрядными ASCII, а Informatica Server запущен в UNIX, установите NLS_LANG _.WE8ISO8859P1 ПРЕДУПРЕЖДЕНИЕ. Убедитесь, что вы правильно задали переменную NLS_LANG, как указано в этой процедуре, или ваши данные будут отображаться неправильно.

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

Ответ 4

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

Ответ 5

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

Ответ 6

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

Ответ 7

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