Oracle e Acentuação

Problema

Recentemente em uma aplicação que realizamos manutenção tivemos problemas de acentuação quando as informações retornadas do banco removiam os acentos e alteravam o “ç” para “?”.  Ao realizar uma rápida investigação constatei que o problema ocorria com o provider System.Data.OracleClient da Microsoft.

Solução

Na string de conexão devemos informar o suporte ao unicode, configurando a palavra-chave Unicode igual a true. Exemplo:

<add name="OracleDataProvider" connectionString="Data Source=xxxxxx; User ID=yyyyyy; Password=zzzzzz; Pooling=true; Min Pool Size=5; Max Pool Size=100; Connection Lifetime=600; Unicode=true"/>

Observação: Esta configuração só é suportada pelo provider System.Data.OracleClient . O provider Oracle.DataAccess.Client da Oracle não suporta esta configuração.

Informação

O banco em questão é um Oracle Server 10g e o client é o Oracle Client 11.2.0.3.0.

Anúncios