Tempo aproximado para leitura: 00:02:41 min
Ocorrência
Ao executar determinado processo na aplicação o sistema apresenta a seguinte inconsistência, erro:
ORA-01843: não é um mês válido
Ambiente
Framework - Framework (Linha RM) - Banco de Dados - Todas as versões
Causa
A parametrização do Language do Oracle não corresponde as definições recomendadas para o CorporeRM.
Solução
Recomendamos que os passos abaixo sejam aplicados pelo DBA ou responsável pelo Banco de Dados da empresa:
- Acessar o regedit;
- Localizar a home do Oracle:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb_home1
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Oracle\KEY_OraDb_home1 - Incluir a chave NLS_DATE_FORMAT com o valor DD/MM/YYYY.
- Acertar o parâmetro NLS_LANG para AMERICAN_AMERICA.WE8ISO8859P1;
A exceção do Oracle ORA-01843 normalmente é apresentada no CorporeRM, quando a parametrização de Formato de Data ou Linguagem está fora do padrão recomendado pela Totvs.
ORACLELANGUAGE
O idioma da sessão de conexão do RM com uma base Oracle pode ser alterar através da tag de configuração chamara OracleLanguage no arquivo RM.exe.config. O valor padrão desta chave é pt-BR. O sistema deve considerar a linguagem en-US do banco Oracle para na configuração do Server utilizando a tag ORACLELANGUAGE:
<add key="OracleLanguage" value="en-US"/>
Após inserir a tag, reinicie o serviço de host, reabra a aplicação e execute o processo novamente.
Importante
- Caso utilize ambiente 3 camadas, a alteração deve ser realizada no Servidor de APP.
- Só devem ser alterados os parâmetros NLS_LANG listados que tiverem com o valor Brazilian, os registros que estiverem com N/A não devem ser alterados.
- Essa inconsistência pode ser apresentada por outros motivos, sendo assim, caso a inconsistência persista, recomendamos um contato com o suporte do módulo onde o erro foi apresentado.
0 Comentários