NLS_LANGUAGE - Ora10g / CentOS

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Post Reply
bapocalypse
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Posts: 14
Joined: Mon, 12 Dec 2005 10:31 am
Location: Belo Horizonte - MG
Contact:
Bruno Apocalypse

Environment information:
* Oracle version: 10.0.2.1
* Operating system: Linux CentOS 5.4

Personal, I am creating a new base in Oracle installed in the Linux Centos. However, it (database) insists on staying with nls_language = American . That is, I can not use accent.

I have already changed session and nothing. Impressive. I'vê already created several times and I can not. Could anyone give a light?

Falows !!!
[/b]
diegopedrao
Rank: Analista Sênior
Rank: Analista Sênior
Posts: 164
Joined: Fri, 22 Aug 2008 12:28 pm
Location: SP

Bapo,

Have you tried to change the bank Character set?

Alter Database "Name_Database" Character Set We8iso8859p1;
Alter Database "National Character National Character Set We8iso8859P1;
Alter Database "Name_Database" Character Set Internal_USE We8iso8859P1;

ATT,

Diego Monteiro
victorhugomuniz
Moderador
Moderador
Posts: 1396
Joined: Fri, 01 Feb 2008 2:06 pm
Location: Rio de Janeiro - RJ
Contact:
:D

Select all

 
SQL> select * from nls_session_parameters; 
 
PARAMETER                      VALUE 
------------------------------ ---------------------------------------- 
NLS_LANGUAGE                   BRAZILIAN PORTUGUESE 
NLS_TERRITORY                  BRAZIL 
NLS_CURRENCY                   R$ 
NLS_ISO_CURRENCY               BRAZIL 
NLS_NUMERIC_CHARACTERS         ,. 
NLS_CALENDAR                   GREGORIAN 
NLS_DATE_FORMAT                DD/MM/RR 
NLS_DATE_LANGUAGE              BRAZILIAN PORTUGUESE 
NLS_SORT                       WEST_EUROPEAN 
NLS_TIME_FORMAT                HH24:MI:SSXFF 
NLS_TIMESTAMP_FORMAT           DD/MM/RR HH24:MI:SSXFF 
NLS_TIME_TZ_FORMAT             HH24:MI:SSXFF TZR 
NLS_TIMESTAMP_TZ_FORMAT        DD/MM/RR HH24:MI:SSXFF TZR 
NLS_DUAL_CURRENCY              Cr$ 
NLS_COMP                       BINARY 
NLS_LENGTH_SEMANTICS           BYTE 
NLS_NCHAR_CONV_EXCP            FALSE 
 
17 rows selected 
 
SQL> select * from nls_database_parameters; 
 
PARAMETER                      VALUE 
------------------------------ ---------------------------------------- 
NLS_NCHAR_CHARACTERSET         AL16UTF16 
NLS_LANGUAGE                   AMERICAN 
NLS_TERRITORY                  AMERICA 
NLS_CURRENCY                   $ 
NLS_ISO_CURRENCY               AMERICA 
NLS_NUMERIC_CHARACTERS         ., 
NLS_CHARACTERSET               WE8ISO8859P1 
NLS_CALENDAR                   GREGORIAN 
NLS_DATE_FORMAT                DD-MON-RR 
NLS_DATE_LANGUAGE              AMERICAN 
NLS_SORT                       BINARY 
NLS_TIME_FORMAT                HH.MI.SSXFF AM 
NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM 
NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR 
NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZR 
NLS_DUAL_CURRENCY              $ 
NLS_COMP                       BINARY 
NLS_LENGTH_SEMANTICS           BYTE 
NLS_NCHAR_CONV_EXCP            FALSE 
NLS_RDBMS_VERSION              10.2.0.4.0 
 
20 rows selected 
1- You should see that your session gains different values ??from the bank, according to the machine settings. You can use triggers on logon to change the settings leaving as you want.

2- You can not accentuate where? direct in the BD or for which application?
bapocalypse
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Posts: 14
Joined: Mon, 12 Dec 2005 10:31 am
Location: Belo Horizonte - MG
Contact:
Bruno Apocalypse

I can not accentuate at the given. A simple exemple:

Select all

select 'não' from dual; 
 
N?O 
-------------- 
n?o

understood!?

Falows !!!
diegolenhardt
Moderador
Moderador
Posts: 1177
Joined: Thu, 15 Oct 2009 10:28 am
Location: Recife

It can be your client, go to Regedit and search for:

Open the Windows Registry Editor:
Regedit

Search for the More Next as the example below and change the variable NLS_LANG

Select all

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home4] 
"NLS_LANG"="AMERICAN_AMERICA.WE8ISO8859P1"
victorhugomuniz
Moderador
Moderador
Posts: 1396
Joined: Fri, 01 Feb 2008 2:06 pm
Location: Rio de Janeiro - RJ
Contact:
:D

Try to change for this ..

Select all

NLS_LANG=BRAZILIAN PORTUGUESE_BRAZIL.WE8MSWIN1252
bapocalypse
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Posts: 14
Joined: Mon, 12 Dec 2005 10:31 am
Location: Belo Horizonte - MG
Contact:
Bruno Apocalypse

Middle, thanks for the help. On Linux, running the

Select all

export NLS_LANG="BRAZILIAN PORTUGUESE_BRAZIL.WE8ISO8859P1"
command
works perfect.

However, in my Client (Windows) I still can not. I'vê tried to change by the record as demonstrated above and nothing.

What is the origin of this problem? Should I install Oracle on Linux in Portuguese ????

Falows! [/b]
bapocalypse
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Posts: 14
Joined: Mon, 12 Dec 2005 10:31 am
Location: Belo Horizonte - MG
Contact:
Bruno Apocalypse

Well .... Continuing with the tests, I found a light at the end of the tunel.

My OS is in English. I uninstalled my client, I changed the property in:

Control Panel -> Regional and Language Options -> [tab] Administrative

and I changed my "Current Language for Non-Unicode Programs:

For Portuguese (Brazil).


apparently worked. But I will continue to study this, because my application can not get stuck to this variable and I can not even change installations.

falows !!!
Post Reply
  • Information
  • Who is online

    Users browsing this forum: No registered users and 1 guest