Re: [oracle_br] Re: Erros Oracle (Ora....)

2014-07-22 Por tôpico jlchia...@yahoo.com.br [oracle_br]
EnNtão : como eu disse, praticamente ** TODA e Qualquer ** tool de 
programação/ferramente cliente tem como configurar os valores de NLS que deseja 
que o database considere para a sessão, E se a mensagem de erro está sendo 
enviada pelo database, é esse setting que ele utilizará...
 No caso do Oracle Forms, embora não tenha um ambiente aqui de testes se me 
lembro ele Não manipula por default as mensagens que vêm do database, E ele é 
configurado alterando-se variáveis NLS nos arquivos de configuração do 
webserver dele : dá uma olhadinha nos manuais do Oracle Forms e em 
http://www.oracle-base.com/articles/11g/oracle-forms-and-reports-11gr2-configuration-notes.php
 e 
http://www.oracle.com/technetwork/products/globalization/globalization-best-practices.pdf
 que vc acha algumas refs
 
Porém, ** evidentemente ** :

1. uma mensagem "ORA-1: unique constraint violated 
(NOMEDOCARA.SYS000XYZNNN)" pro usuário é TÃO MISTERIOSA e Inapropriada quanto 
"ORA-1: restrição exclusiva(NOMEDOCARA.SYS000XYZNNN) violada" : então, MAIS 
do que só Traduzir, a sua Aplicação ** DEVERIA ** ao invés de dar a exata 
mensagem que veio do database, dar uma mensagem Customizada mais apropriada

2. certifique-se que Não Apenas a mensagem é Exibida , *** MAS *** que também 
ela é GRAVADA num arquivo/tabela/whatever, permanentemente, JUNTO com 
informações tais como usuário logado, data/hora/nome do programa que estava 
sendo executado, etc 

Essas duas coisas acima normalmente se fazem con triggers ON-ERROR no Oracle 
Forms : cheque a documentação do Forms para refs /exemplos

 []s
 
   Chiappa

RE: [oracle_br] Re: Erros Oracle (Ora....)

2014-07-22 Por tôpico 'Schiavini' et...@schiavini.inf.br [oracle_br]
Alessandro

 

Tu deve configurar o NLS_LANG no registro do windows dos clients.

 

Étore

 

From: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] 
Sent: terça-feira, 22 de julho de 2014 08:22
To: Forum(Oracle)
Subject: Re: [oracle_br] Re: Erros Oracle (Ora)

 

  

Bom dia

 

Eu utilizo o Forms 9i que está instalado em Inglês. Então quando dá erro de PK 
ou FK , campo obrigatório (Não pode ser null), sai tudo em inglês. Precisava 
traduzir estes erros p/ facilitar p/ o cliente final.

 

Em 21 de julho de 2014 22:16, jlchia...@yahoo.com.br [oracle_br] 
 escreveu:

  

Explica melhor : vc está falando das mensagens de erro do database, enviadas 
PELO DATABASE para o cliente ?? Se sim, basicamente o que vc tem que fazer é 
setar a tool cliente/linguagem/ambiente de programação para informar ao 
database a lingguagem que vc quer usar, que aí as mensagens de erro, dias da 
semana, etc, etc , serão traduzidas Já se a mensagem de erro vinda do 
database tá sendo Processada pela tool/ferramenta de programação (como sei por 
exemplo que o JDBC pode fazer) , aí outras técnicas vão ser necessárias, talvez 
...

==> Exemplo com SQLPLUS como tool-cliente, que se configura com variáveis de 
ambiente (OBVIAMENTE, outras tools/linguagens se configuram de outras maneiras) 
:

==> database está configurado para usar Inglês :


SYS:AS SYSDBA@orcl:SQL>select * from nls_database_parameters;

PARAMETER
--
VALUE
-
NLS_LANGUAGE
AMERICAN

NLS_NCHAR_CHARACTERSET
AL16UTF16

NLS_TERRITORY
AMERICA

NLS_CURRENCY
$

NLS_ISO_CURRENCY
AMERICA

NLS_NUMERIC_CHARACTERS
.,

NLS_CHARACTERSET
AL32UTF8

NLS_CALENDAR
GREGORIAN

NLS_DATE_FORMAT
DD-MON-RR

NLS_DATE_LANGUAGE
AMERICAN

==> acesso o database SEM especificar NLS settings para o cliente, ele usa o 
default do database :

[oracle@localhost ~]$ echo $NLS_LANG

[oracle@localhost ~]$ 

[oracle@localhost ~]$ sqlplus / as sysdba

SYS:AS SYSDBA@orcl:SQL>select 1/0 from dual;
select 1/0 from dual
*
ERROR at line 1:
ORA-01476: divisor is equal to zero


SYS:AS SYSDBA@orcl:SQL>exit

==> agora seto o NLS environment do cliente, NO MEU CASO de sqlplus via 
variável NLS :

[oracle@localhost ~]$ export NLS_LANG="BRAZILIAN PORTUGUESE_BRAZIL.AL32UTF8"
[oracle@localhost ~]$ echo $NLS_LANG
BRAZILIAN PORTUGUESE_BRAZIL.AL32UTF8

==> óia aí as msg de erro em pt-br :

[oracle@localhost ~]$ sqlplus / as sysdba


SYS:AS SYSDBA@orcl:SQL>select 1/0 from dual;
select 1/0 from dual
*
ERROR at line 1:
ORA-01476: o divisor é igual a zero


SYS:AS SYSDBA@orcl: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_LANGUAGE
BRAZILIAN PORTUGUESE

NLS_SORT
WEST_EUROPEAN


 []s
 
   Chiappa
   
==> REPITO : no Meu caso o setting é feito via variável, Outras tools demandam 
Outros ajustes Diga EXATAMENTE em que vc desenvolveu e onde/como vc roda o 
Aplicativo, que eventualmente quem usa a mesma coisa pode te dar umas dicas...  

 





[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Re: Erros Oracle (Ora....)

2014-07-22 Por tôpico alessandro micromap alessandro.micro...@gmail.com [oracle_br]
Bom dia

Eu utilizo o Forms 9i que está instalado em Inglês. Então quando dá erro de
PK ou FK , campo obrigatório (Não pode ser null), sai tudo em inglês.
Precisava traduzir estes erros p/ facilitar p/ o cliente final.


Em 21 de julho de 2014 22:16, jlchia...@yahoo.com.br [oracle_br] <
oracle_br@yahoogrupos.com.br> escreveu:

>
>
> Explica melhor : vc está falando das mensagens de erro do database,
> enviadas PELO DATABASE para o cliente ?? Se sim, basicamente o que vc tem
> que fazer é setar a tool cliente/linguagem/ambiente de programação para
> informar ao database a lingguagem que vc quer usar, que aí as mensagens de
> erro, dias da semana, etc, etc , serão traduzidas Já se a mensagem de
> erro vinda do database tá sendo Processada pela tool/ferramenta de
> programação (como sei por exemplo que o JDBC pode fazer) , aí outras
> técnicas vão ser necessárias, talvez ...
>
> ==> Exemplo com SQLPLUS como tool-cliente, que se configura com variáveis
> de ambiente (OBVIAMENTE, outras tools/linguagens se configuram de outras
> maneiras) :
>
> ==> database está configurado para usar Inglês :
>
>
> SYS:AS SYSDBA@orcl:SQL>select * from nls_database_parameters;
>
> PARAMETER
> --
> VALUE
>
> -
> NLS_LANGUAGE
> AMERICAN
>
> NLS_NCHAR_CHARACTERSET
> AL16UTF16
>
> NLS_TERRITORY
> AMERICA
>
> NLS_CURRENCY
> $
>
> NLS_ISO_CURRENCY
> AMERICA
>
> NLS_NUMERIC_CHARACTERS
> .,
>
> NLS_CHARACTERSET
> AL32UTF8
>
> NLS_CALENDAR
> GREGORIAN
>
> NLS_DATE_FORMAT
> DD-MON-RR
>
> NLS_DATE_LANGUAGE
> AMERICAN
>
> ==> acesso o database SEM especificar NLS settings para o cliente, ele usa
> o default do database :
>
> [oracle@localhost ~]$ echo $NLS_LANG
>
> [oracle@localhost ~]$
>
> [oracle@localhost ~]$ sqlplus / as sysdba
>
> SYS:AS SYSDBA@orcl:SQL>select 1/0 from dual;
> select 1/0 from dual
> *
> ERROR at line 1:
> ORA-01476: divisor is equal to zero
>
>
> SYS:AS SYSDBA@orcl:SQL>exit
>
> ==> agora seto o NLS environment do cliente, NO MEU CASO de sqlplus via
> variável NLS :
>
> [oracle@localhost ~]$ export NLS_LANG="BRAZILIAN
> PORTUGUESE_BRAZIL.AL32UTF8"
> [oracle@localhost ~]$ echo $NLS_LANG
> BRAZILIAN PORTUGUESE_BRAZIL.AL32UTF8
>
> ==> óia aí as msg de erro em pt-br :
>
> [oracle@localhost ~]$ sqlplus / as sysdba
>
>
> SYS:AS SYSDBA@orcl:SQL>select 1/0 from dual;
> select 1/0 from dual
> *
> ERROR at line 1:
> ORA-01476: o divisor é igual a zero
>
>
> SYS:AS SYSDBA@orcl: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_LANGUAGE
> BRAZILIAN PORTUGUESE
>
> NLS_SORT
> WEST_EUROPEAN
>
>
>  []s
>
>Chiappa
>
> ==> REPITO : no Meu caso o setting é feito via variável, Outras tools
> demandam Outros ajustes Diga EXATAMENTE em que vc desenvolveu e
> onde/como vc roda o Aplicativo, que eventualmente quem usa a mesma coisa
> pode te dar umas dicas...
>  
>


[oracle_br] Re: Erros Oracle (Ora....)

2014-07-21 Por tôpico jlchia...@yahoo.com.br [oracle_br]
Explica melhor : vc está falando das mensagens de erro do database, enviadas 
PELO DATABASE para o cliente ?? Se sim, basicamente o que vc tem que fazer é 
setar a tool cliente/linguagem/ambiente de programação para informar ao 
database a lingguagem que vc quer usar, que aí as mensagens de erro, dias da 
semana, etc, etc , serão traduzidas Já se a mensagem de erro vinda do 
database tá sendo Processada pela tool/ferramenta de programação (como sei por 
exemplo que o JDBC pode fazer) , aí outras técnicas vão ser necessárias, talvez 
...

==> Exemplo com SQLPLUS como tool-cliente, que se configura com variáveis de 
ambiente (OBVIAMENTE, outras tools/linguagens se configuram de outras maneiras) 
:

==> database está configurado para usar Inglês :


SYS:AS SYSDBA@orcl:SQL>select * from nls_database_parameters;

PARAMETER
--
VALUE
-
NLS_LANGUAGE
AMERICAN

NLS_NCHAR_CHARACTERSET
AL16UTF16

NLS_TERRITORY
AMERICA

NLS_CURRENCY
$

NLS_ISO_CURRENCY
AMERICA

NLS_NUMERIC_CHARACTERS
.,

NLS_CHARACTERSET
AL32UTF8

NLS_CALENDAR
GREGORIAN

NLS_DATE_FORMAT
DD-MON-RR

NLS_DATE_LANGUAGE
AMERICAN

==> acesso o database SEM especificar NLS settings para o cliente, ele usa o 
default do database :

[oracle@localhost ~]$ echo $NLS_LANG

[oracle@localhost ~]$ 

[oracle@localhost ~]$ sqlplus / as sysdba

SYS:AS SYSDBA@orcl:SQL>select 1/0 from dual;
select 1/0 from dual
*
ERROR at line 1:
ORA-01476: divisor is equal to zero


SYS:AS SYSDBA@orcl:SQL>exit

==> agora seto o NLS environment do cliente, NO MEU CASO de sqlplus via 
variável NLS :

[oracle@localhost ~]$ export NLS_LANG="BRAZILIAN PORTUGUESE_BRAZIL.AL32UTF8"
[oracle@localhost ~]$ echo $NLS_LANG
BRAZILIAN PORTUGUESE_BRAZIL.AL32UTF8

==> óia aí as msg de erro em pt-br :

[oracle@localhost ~]$ sqlplus / as sysdba


SYS:AS SYSDBA@orcl:SQL>select 1/0 from dual;
select 1/0 from dual
*
ERROR at line 1:
ORA-01476: o divisor é igual a zero


SYS:AS SYSDBA@orcl: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_LANGUAGE
BRAZILIAN PORTUGUESE

NLS_SORT
WEST_EUROPEAN


 []s
 
   Chiappa
   
==> REPITO : no Meu caso o setting é feito via variável, Outras tools demandam 
Outros ajustes Diga EXATAMENTE em que vc desenvolveu e onde/como vc roda o 
Aplicativo, que eventualmente quem usa a mesma coisa pode te dar umas dicas...