Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: ORA-00604 при подключении к Oracle  (Прочитано 62088 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« : 07-06-2007 19:11 » 

Добрый день!

Довольно много времени убил на борьбу с этой ошибкой при подключении к серверу Oracle Express Edition из VS.NET 2005

В сети полезной информации почти не нашел, то что нашел было или не по руски и невнятно или по руски и невнятно Улыбаюсь

База UNICODEная.

Решение такое лезем в реестр HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_ODACHome1\NLS_LANG устанавливаем в значение RUSSIAN_RUSSIA.AL32UTF8, где:
RUSSIAN это NLS_LANGUAGE на серваке
RUSSIA это NLS_TERRITORY на серваке
AL32UTF8 это NLS_CHARACTERSET на серваке

в общем случае NLS_LANG устанавливаем в NLS_LANGUAGE_NLS_TERRITORY.NLS_CHARACTERSET

может еще кому поможет.
Записан

Странно всё это....
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 08-06-2007 06:10 » 

http://ora-00604.ora-code.com/

Как понимаешь, в доменном имени пишется код ошибки и получаем тематическую страницу.
Попробуй понять, с каким объектом связана ошибка.


NLS - это первым делом, сразу после установки. В том числе и для клиентов.
« Последнее редактирование: 08-06-2007 06:14 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #2 : 08-06-2007 06:28 » 

RXL, не разу е ставил оракл и не настраивал клиентов Улыбаюсь

а в описании ошибки не говорилось откуда она взялась, видимо глюк какой-то в реализации ODP.NET
мне выдавалась ошибка "error occurred at recursive SQL level %s"
видимо вместо %s должно было быть описание, но его не было.
Записан

Странно всё это....
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 08-06-2007 07:57 » 

LogRus, клиент оркала под винду? Нет ничего проще Улыбаюсь
Единственная задача настроить один раз одного клиента.
А потом, тупое копирование веток реестра и папок Оракла.
Offtopic:

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

Встретился с бывшим коллегой, он сказал что История с инсталляцией продолжается.
Бывает необходимость быстро подготовить машинку для отправки клиенту, ну а так как есть "оракловские админы" мой собутыльеседник никаких действий не принимает и ждет самого последнего  момента перед отправкой, а когда админы хватаются за головы, типа "пошел установлю", опс а машинка уже на объекте и уже работает.  (грустно)

В случае возникновения ошибок, лучше всего искать на оракловских сайтах, а только потом в инете
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #4 : 08-06-2007 10:26 » 

Клиент виндовый, сервер виндовый на тойже машине. Клиент ко всему прочему еще и .NET
Sla, учту на будующие, если вдруг буду ставить
Записан

Странно всё это....
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 08-06-2007 16:25 » 

ORA-00604:   error occurred at recursive SQL level string
Cause:   An error occurred while processing a recursive SQL statement (a statement applying to internal dictionary tables).
Action:   If the situation described in the next error on the stack can be corrected, do so; otherwise contact Oracle Support.

Вот эта самая следующая ошибка есть?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #6 : 09-06-2007 05:16 » 

она, только в ней
ORA-00604:   error occurred at recursive SQL level string
только тут вместо string должнобыть более подробное описание что именно развалилось, а негодяйский ODP.NET туда ставит просто %s как будто тут printf должен был еще что-то подставить.

Записан

Странно всё это....
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 09-06-2007 06:00 » 

LogRus, думаю, нужно рыться на оракловом сервере - возможно под эту траблу есть патч. Другой вопрос, что там все на английском и большая часть информации (metalink) доступна лишь имеющим поддержку.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #8 : 28-06-2007 10:43 » 

привет.
Решение такое лезем в реестр HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_ODACHome1\NLS_LANG устанавливаем в значение RUSSIAN_RUSSIA.AL32UTF8, где:
RUSSIAN это NLS_LANGUAGE на серваке
RUSSIA это NLS_TERRITORY на серваке
AL32UTF8 это NLS_CHARACTERSET на серваке

в общем случае NLS_LANG устанавливаем в NLS_LANGUAGE_NLS_TERRITORY.NLS_CHARACTERSET

может еще кому поможет.
поможет, если объясните, как узнать, какие NLS_LANGUAGE на серваке, NLS_TERRITORY на серваке и NLS_CHARACTERSET на серваке. пожалуйста  Скромно так...
Записан

Славная трава...
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #9 : 28-06-2007 12:52 » 

В случае Oracle Express Edition
просто заходим на базу через WebInterface и смотри в разделе о базе раздела о национальных настройках.

в остальных случаях не знаю Улыбаюсь не моя это сфера знаний
Записан

Странно всё это....
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #10 : 28-06-2007 13:03 » 

Falsehood, на каком именно серваке? какой у тебя туда доступ? или ты имеешь ввиду как программо узнать?
Записан

Удачного всем кодинга! -=x[PooH]x=-
Алексей++
кот глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #11 : 28-06-2007 13:18 » 

Offtopic:

Falsehood,  с возвращением Улыбаюсь
Поставлю в угол.
Записан

Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #12 : 28-06-2007 14:48 » 

Лёш, спасибо Улыбаюсь

при подключении к БД Oracle 10g Express Edition (из NetBeans 5.5.1, но это, наверное, не очень важно) генерится ошибка:
ORA-00604: error occurred at recursive SQL level 1
ORA-12705: Cannot access NLS data files or invalid environment specified
сервер на той же машине. его настройки:
NLS_CHARACTERSET   AL32UTF8
NLS_LANGUAGE   RUSSIAN
NLS_TERRITORY   RUSSIA
в реестре ключ NLS_LANG поменяла в соответствии с приведенной LogRus формулой на
RUSSIAN_RUSSIA.AL32UTF8,
но ошибка не ушла. помогите  Жаль
Записан

Славная трава...
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #13 : 29-06-2007 06:10 » 

http://ora-12705.ora-code.com/
Цитата
ORA-12705:   Cannot access NLS data files or invalid environment specified
Cause:   Either an attempt was made to issue an ALTER SESSION command with an invalid NLS parameter or value; or the environment variable(s) NLS_LANG, ORA_NLSxx, or ORACLE_HOME was incorrectly specified, therefore the NLS data files cannot be located.
Action:   Check the syntax of the ALTER SESSION command and the NLS parameter, correct the syntax and retry the statement, or specify the correct directory path/values in the environment variables.
что у тебя в переменных окружения?
Записан

Удачного всем кодинга! -=x[PooH]x=-
Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #14 : 29-06-2007 06:52 » 

ORACLE_HOME = D:\oraclexe\app\oracle\product\10.2.0\server
Записан

Славная трава...
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #15 : 29-06-2007 09:01 » 

вот, что нашел: http://www.ors.kz/?mod=html&id=277

Цитата
т.е. у нас фактически 2 пути обхода этой ошибки (WORKAROUND)

Первый путь подразумевает 5 действий:
Сохранить локализацию по умолчанию;
Установить локализацию по умолчанию в en_US;
Соединиться;
Восстановить локализацию по умолчанию;
Послать ALTER SESSION для установки сессии NLS установок.

Второй путь, использовать драйвер 10.1.0.3. Данный драйвер можно найти в установленной СУБД Oracle Database 10g 10.1.0.3 в каталоге {oracle_home}\jdbc\lib

Второй путь проще. Методом проб выяснилось, что для исправления ошибки необходимо заменить библиотеки ojdbc14dms.jar и ojdbc14.jar драйвера Oracle JDBC, который поставляется вместе с JDeveloper 10g, на библиотеки драйвера 10.1.0.3.

Заменяем библиотеки, которые находятся по пути {jdeveloper_home}\jdbc\lib.
После этого все отлично работает.

Библиотеки можно скачать тут (http://www.ors.kz/mod/stat.php?dir=20142210020052006110652/lib10103.rar&id=34&id_type=170).
Записан

Удачного всем кодинга! -=x[PooH]x=-
Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #16 : 16-07-2007 13:35 » 

СПАСИБО!!! драйвера помогли Улыбаюсь))
Записан

Славная трава...
Andrusha
Новенький

ua
Offline Offline

« Ответ #17 : 10-09-2012 20:43 » 

Здраствуйте ребята.
Прошу помощи в решении проблемы похожей на описаную Falsehood.

при подключении к БД Oracle 10g Express Edition (из NetBeans 5.5.1, но это, наверное, не очень важно) генерится ошибка:
ORA-00604: error occurred at recursive SQL level 1
ORA-12705: Cannot access NLS data files or invalid environment specified
сервер на той же машине. его настройки:
NLS_CHARACTERSET   AL32UTF8
NLS_LANGUAGE   RUSSIAN
NLS_TERRITORY   RUSSIA
в реестре ключ NLS_LANG поменяла в соответствии с приведенной LogRus формулой на
RUSSIAN_RUSSIA.AL32UTF8,
но ошибка не ушла. помогите  Жаль


Сервер Oracle Express Edition 10, локальный, работает на CL8MSWIN1251 кодировке.
Из-за системы безопасности копаться в реестре, если и удасться, то уголовно наказуемо.

Насколько я понял ей помогли другие драйвера, то у меня такое не прокатит. Ибо работаю на режимном предприятии, где что-бы закнуть "из вне" безобидную фотографию на рабочий стол, надо пол предприятия оббегать и собрать пачку А4 справок.
Мб как-то можно другими способами решить роблему?
Буду рад любой светлой мысли.

Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #18 : 11-09-2012 04:12 » 

Andrusha, если ты прочел последние два поста, то должен понять, что ей помогло обновление клиентских драйверов БД до 10.1.0.3. На текущий момент это жутко старый драйвер. Обратись на работ в службу, заведующую обновлением ПО и затребуй обновление ораклового клиента до 10.2.0.1. Т.е. не надо делать это самостоятельно—запроси соответствующий отдел.

Я для NSL_LANG на виндовых клиентах ставлю NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251 и настраиваю форматы дат в программе через ALTER SESSION. Работает стабильно.
« Последнее редактирование: 11-09-2012 04:24 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Andrusha
Новенький

ua
Offline Offline

« Ответ #19 : 11-09-2012 18:30 » 

Andrusha, если ты прочел последние два поста, то должен понять, что ей помогло обновление клиентских драйверов БД до 10.1.0.3. На текущий момент это жутко старый драйвер. Обратись на работ в службу, заведующую обновлением ПО и затребуй обновление ораклового клиента до 10.2.0.1. Т.е. не надо делать это самостоятельно—запроси соответствующий отдел.

Я для NSL_LANG на виндовых клиентах ставлю NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251 и настраиваю форматы дат в программе через ALTER SESSION. Работает стабильно.

Спасибо большее за оперативный подробный ответ.
Кажется я понял о чем Вы.
А оракловский клиент 10+ существует бесплатная версия? И подойдет ли она для для данных целей?
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #20 : 11-09-2012 18:36 » 

Andrusha, насколько я знаю, клиент идет в составе сервера. Если ORA-сервер куплен, то и клиент есть.

Но непонятно, почему стоит неправильный клиент на серваке.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Andrusha
Новенький

ua
Offline Offline

« Ответ #21 : 11-09-2012 18:53 » 

Sla, ORA-сервер стоит локальный, бесплатный, жутко порезаный Express Edition 10.
Но программа конектится к другому серверу, на котором стоит лицензионный ORACLE 8 успешно.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #22 : 11-09-2012 19:39 » 

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

Попробуй сперва с NLS_LANG. Так будет проще, чем драйвера ставить. Обычно этот параметр в винде задается ключем в реестре (HKML/Software/Oracle), но можно прописать его как переменную окружения. Проверил: переменная окружения имеет более высокий приоритет, чем запись в реестре.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Andrusha
Новенький

ua
Offline Offline

« Ответ #23 : 11-09-2012 19:51 » 

Andrusha, переменную окружения лучше вписать внутри программы при подключении или в cmd?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #24 : 12-09-2012 03:51 » new

Как будет удобно.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines