Oracle и параметр Nls_lang

Cent OS, Scientific Linux

Модератор: Модераторы разделов

Аватара пользователя
123456
Сообщения: 490

Oracle и параметр Nls_lang

Сообщение 123456 »

Fedora Core 6.

Установил Oracle Database Express Edition, но не могу найти где поменять настройку параметра NLS_LANG?

:unsure:
Спасибо сказали:
Аватара пользователя
Jan2ary
Бывший модератор
Сообщения: 630
Статус: Тщедушный очкарик

Re: Oracle и параметр Nls_lang

Сообщение Jan2ary »

Не помню такого шага при установке.
Если я правильно понял, это переменная окружения хоста, поэтому
export NLS_LANG=AMERICAN_AMERICA.CL8ISO8859P5

в скрипте инициализации оболочки - ~/.bashrc
Естественно, значение переменной и скрипт подставить свои.
Не шалю, никого не трогаю, починяю примус...
Спасибо сказали:
Аватара пользователя
123456
Сообщения: 490

Re: Oracle и параметр Nls_lang

Сообщение 123456 »

Jan2ary писал(а):
03.05.2007 13:31
Не помню такого шага при установке.
Если я правильно понял, это переменная окружения хоста, поэтому
export NLS_LANG=AMERICAN_AMERICA.CL8ISO8859P5

в скрипте инициализации оболочки - ~/.bashrc
Естественно, значение переменной и скрипт подставить свои.


Пробовал.

Пытаюсь сделать connect к удаленной БД в SQL*Plus, а она выдает

SQL> connect system/oracle@192.168.15.147/fis8_1p
ERROR:
ORA-00604: ЮиШСЪР ЭР аХЪгабШТЭЮЬ SQL-гаЮТЭХ 1
ORA-12705: ГЪРЧРЭЮ ЭХТХаЭЮХ ШЫШ ЭХШЧТХбвЭЮХ
ЧЭРзХЭШХ ЯРаРЬХваР NLS


SQL>


[SOZ@localhost ~]$ echo $NLS_LANG
AMERICAN_AMERICA.CL8MSWIN1251
[SOZ@localhost ~]$
Спасибо сказали:
Аватара пользователя
Jan2ary
Бывший модератор
Сообщения: 630
Статус: Тщедушный очкарик

Re: Oracle и параметр Nls_lang

Сообщение Jan2ary »

Это скорее в сторону системной локали:
locale
Не шалю, никого не трогаю, починяю примус...
Спасибо сказали:
Аватара пользователя
Kashchey
Сообщения: 39
ОС: FC6

Re: Oracle и параметр Nls_lang

Сообщение Kashchey »

123456 писал(а):
03.05.2007 13:52
[SOZ@localhost ~]$ echo $NLS_LANG
AMERICAN_AMERICA.CL8MSWIN1251
[SOZ@localhost ~]$

CL8MSWIN1251

хотя нет... за вывод сообщений отвечает первая часть... а если поставить LANG=en_US.UTF-8 ?
FC6, Registered Linux User #408858
Спасибо сказали:
Аватара пользователя
123456
Сообщения: 490

Re: Oracle и параметр Nls_lang

Сообщение 123456 »

Kashchey писал(а):
03.05.2007 16:02
CL8MSWIN1251

хотя нет... за вывод сообщений отвечает первая часть... а если поставить LANG=en_US.UTF-8 ?


Вообще-то у меня в окружении стоит:

[SOZ@localhost ~]$ echo $LANG
ru_RU.UTF-8
[SOZ@localhost ~]$
Спасибо сказали:
Аватара пользователя
123456
Сообщения: 490

Re: Oracle и параметр Nls_lang

Сообщение 123456 »

Параметр LANG=ru_RU.UTF-8 не играет роли, я его устанавливал как en_US.UTF-8. Это ничего не дало.
Если я стартую SQL*Plus через терминал (командную строку) то соединение проходит нормально.
Если стартую из меню выбором пункта меню "Run SQL Command Line" то получаю

SQL*Plus: Release 10.2.0.1.0 - Production on Пт Май 4 10:09:58 2007

Copyright © 1982, 2005, Oracle. All rights reserved.

SQL> conn system/oracle@192.168.15.147/fis8_1p
ERROR:
ORA-00604: ЮиШСЪР ЭР аХЪгабШТЭЮЬ SQL-гаЮТЭХ 1
ORA-12705: ГЪРЧРЭЮ ЭХТХаЭЮХ ШЫШ ЭХШЧТХбвЭЮХ
ЧЭРзХЭШХ ЯРаРЬХваР NLS


SQL>
Спасибо сказали:
Аватара пользователя
Jan2ary
Бывший модератор
Сообщения: 630
Статус: Тщедушный очкарик

Re: Oracle и параметр Nls_lang

Сообщение Jan2ary »

То есть, если установить в консоли LANG=en_US.UTF-8, то сообщения нормально отображаются на английском и логин проходит успешно, а из меню все по-старому?
Это потому, что установка параметра в сеансе оболочки влияет только на этот сеанс, а меню запускает новый сеанс с глобальными установками.
Попробуйте поставить export LANG=en_US.UTF-8, или прописать этот экспорт в начале скрипта, который привязан к пункту меню.

А вообще поиск в гугле ORA-12705 может многое прояснить.
Не шалю, никого не трогаю, починяю примус...
Спасибо сказали:
Аватара пользователя
123456
Сообщения: 490

Re: Oracle и параметр Nls_lang

Сообщение 123456 »

Jan2ary писал(а):
04.05.2007 12:57
То есть, если установить в консоли LANG=en_US.UTF-8, то сообщения нормально отображаются на английском и логин проходит успешно, а из меню все по-старому?
Это потому, что установка параметра в сеансе оболочки влияет только на этот сеанс, а меню запускает новый сеанс с глобальными установками.
Попробуйте поставить export LANG=en_US.UTF-8, или прописать этот экспорт в начале скрипта, который привязан к пункту меню.

А вообще поиск в гугле ORA-12705 может многое прояснить.


Нет соединение при обеих параметрах из окна терминала проходя нормально, проблемма в подключении при старте из пункта меню "Run SQL Command Line".
Спасибо сказали:
Аватара пользователя
Jan2ary
Бывший модератор
Сообщения: 630
Статус: Тщедушный очкарик

Re: Oracle и параметр Nls_lang

Сообщение Jan2ary »

Тогда смотреть скрипт, привязанный к менюшке. Наверняка там переопределяется.
Да, еще можно попробовать этот же скрипт в терминале руками пустить.
Не шалю, никого не трогаю, починяю примус...
Спасибо сказали:
Аватара пользователя
123456
Сообщения: 490

Re: Oracle и параметр Nls_lang

Сообщение 123456 »

Jan2ary писал(а):
04.05.2007 15:21
Тогда смотреть скрипт, привязанный к менюшке. Наверняка там переопределяется.
Да, еще можно попробовать этот же скрипт в терминале руками пустить.


Запустил

[SOZ@localhost ~]$ sh /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/runsqlplus.sh
[SOZ@localhost ~]$


Результат тот-же


SQL*Plus: Release 10.2.0.1.0 - Production on Пт Май 4 15:28:07 2007

Copyright © 1982, 2005, Oracle. All rights reserved.

SQL> conn system/oracle@fis8_1p
ERROR:
ORA-00604: ЮиШСЪР ЭР аХЪгабШТЭЮЬ SQL-гаЮТЭХ 1
ORA-12705: ГЪРЧРЭЮ ЭХТХаЭЮХ ШЫШ ЭХШЧТХбвЭЮХ
ЧЭРзХЭШХ ЯРаРЬХваР NLS


SQL>


А вот запускаю из терминала SQL*Plus

[SOZ@localhost ~]$ sqlplus

SQL*Plus: Release 10.2.0.1.0 - Production on Fri May 4 15:31:02 2007

Copyright © 1982, 2005, Oracle. All rights reserved.

Enter user-name: system
Enter password:

Connected to:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production

SQL> conn system/oracle@fis8_1p
Connected.
SQL>
Спасибо сказали:
Аватара пользователя
Jan2ary
Бывший модератор
Сообщения: 630
Статус: Тщедушный очкарик

Re: Oracle и параметр Nls_lang

Сообщение Jan2ary »

Выбросьте скрипт сюда, пожалуйста.

Или даже ко мне в асю, контакт в профиле.
Не шалю, никого не трогаю, починяю примус...
Спасибо сказали:
Аватара пользователя
123456
Сообщения: 490

Re: Oracle и параметр Nls_lang

Сообщение 123456 »

Jan2ary писал(а):
04.05.2007 17:39
Выбросьте скрипт сюда, пожалуйста.

Или даже ко мне в асю, контакт в профиле.


runsqlplus.sh

#!/bin/bash

if [ -f /usr/bin/gnome-terminal ]
then
/usr/bin/gnome-terminal -t "SQL*Plus" -e "/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlplus.sh"
else
/usr/bin/xterm -T "SQL*Plus" -n "SQL*Plus" -e "/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlplus.sh"
fi



sqlplus.sh


#!/bin/bash
#
# svaggu 09/28/05 - Creation
#

ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
ORACLE_SID=XE
export ORACLE_SID
NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export NLS_LANG
PATH=$ORACLE_HOME/bin:$PATH
export PATH
sqlplus /nolog
Спасибо сказали:
Аватара пользователя
123456
Сообщения: 490

Re: Oracle и параметр Nls_lang

Сообщение 123456 »

Вопрос решил поправив sqlplus.sh

#!/bin/bash
#
# svaggu 09/28/05 - Creation
#

ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
ORACLE_SID=XE
export ORACLE_SID
# NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251
export NLS_LANG
PATH=$ORACLE_HOME/bin:$PATH
export PATH
sqlplus /nolog
Спасибо сказали: