Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DaniloTec

[Resolvido] Problema com acentuação no Oracle

Recommended Posts

Bom dia a todos.

 

Estou com um problema de Collation no meu banco de dados Oracle.

 

Tenho duas bases de dados Oracle (produção e desenvolvimento) e as Collations delas estão diferentes uma da outra.

 

No banco de dados de desenvolvimento não estou com problema com palavras com acento, já em produção as palavras com acento estão vindo quebradas.

 

O que é mais estranho é que quando eu faço um select no banco de produção o select me retorna as palavras corretas, mas no sistemas os caracteres estão vindo quebrados.

 

Ao executar o comando:

 

SELECT SYS_CONTEXT ('USERENV', 'NLS_SORT') FROM DUAL;

 

Os resultados são os seguintes:

 

Desenvolvimento: LATIN

Produção: BINARY_AI

 

A diferença entre os Collations pode ser a razão do problema?

 

Vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que retorna

 

select * 
from NLS_DATABASE_PARAMETERS
where parameter like '%LANG%'

 

isto ?!

 

PARAMETER                      VALUE                                    
------------------------------ ---------------------------------------- 
NLS_LANGUAGE                   AMERICAN                                 
NLS_DATE_LANGUAGE              AMERICAN                                 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dizer que eu não sei, tivemos um problema assim aqui era que estava com outra coisa (portuguese, creio) ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O mais estranho é que o problema está em uma tabela específica.

As outras tabelas estão vindo com os acentos corretos, mas somente uma tabela específica está dando problema.

 

Estou tentando encontrar uma forma de ver o Collation ou o CharSet da tabela, mas não estou encontrando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe isto por tabela ?

 

ALL_TABLES naõ tem nenhuma coluna que aponte isto e não achei nada no dicionário

 

select *
from DICT
where (
      UPPER(COMMENTS) like '%TABLE%' 
      AND 
      (UPPER(COMMENTS) like '%CHAR%' OR UPPER(COMMENTS) like '%COLLATION%')
      )
ORDER BY 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado, Motta. Já encontrei o problema.

O problema foi que os registros da tabela que apresentava problema foram inseridos pelo Prompt e no Prompt não tem acento.

Deletei os registros da tabela e os inseri novamente por uma procedure e deu certo.

Vlw pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.