Padrão de Ordenação

1 resposta
F

Olá,



Tenho uma aplicação Servlet/JSP rodando com tomcat num servidor linux. Quando faço uma busca numa base Oracle 8.1.7.3 e na ordenação ele considera palavras acentuadas com menor peso. Por exemplo, uma busca ordenada ele está retornando assim:



A

E

I

Á

É

Í



O correto seria:



A

Á

E

É

I

Í



Parece que o Oracle tem variáveis pra controlar isso: NLS_LANG e NLS_SORT. Mas não estou bem certo. O tomcat tem algum recurso pra isso?

Alguma idéia??



Adriano.

1 Resposta

J

Acho que a melhor alternativa é configurar o banco para tratar isso. Vc vai ter que configurar os parametros de idioma do banco. Quando eu executei o seguinte comando



select * from v$nls_parameters;



que retorna configuração de idioma o resultado foi o seguinte:







PARAMETER VALUE

--------------------------------- ---------------------------------

NLS_LANGUAGE AMERICAN

NLS_TERRITORY AMERICA

NLS_CURRENCY $

NLS_ISO_CURRENCY AMERICA

NLS_NUMERIC_CHARACTERS .,

NLS_DATE_FORMAT DD-MON-RR

NLS_DATE_LANGUAGE AMERICAN

NLS_CHARACTERSET WE8DEC

NLS_SORT BINARY

NLS_CALENDAR GREGORIAN



10 rows selected.







Depois eu setei o NLS_LANG para o

português:

set NLS_LANG=BRAZILIAN PORTUGUESE_BRAZIL.WE8ISO8859P1



Daí, executando novamente o comando para ver as configurações o resultado foi:



PARAMETER VALUE

--------------------------------- ---------------------------------

NLS_LANGUAGE BRAZILIAN PORTUGUESE

NLS_TERRITORY BRAZIL

NLS_CURRENCY Cr$

NLS_ISO_CURRENCY BRAZIL

NLS_NUMERIC_CHARACTERS ,.

NLS_DATE_FORMAT DD/MM/RR

NLS_DATE_LANGUAGE BRAZILIAN PORTUGUESE

NLS_CHARACTERSET WE8DEC

NLS_SORT WEST_EUROPEAN

NLS_CALENDAR GREGORIAN



10 linhas selecionadas.



Agora, eu fiz essas configurações de modo que seja apenas temporarias. Me parece que há um arquivo para fazer com que sejam permanentes. Só que não lembro qual é. Tente apenas setar o NLS_LANGUAGE antes de iniciar o tomcat para ver no que dá.



valeuz…

Criado 21 de março de 2003
Ultima resposta 24 de mar. de 2003
Respostas 1
Participantes 2