Proc do Oracle para o SQL Reporting Services: o nome do conjunto de caracteres não é reconhecido

1

Há alguns meses, as consultas do Oracle pararam de funcionar em nosso servidor de serviços de relatórios depois de um service pack no servidor de relatórios.

Acabei tendo que conceder permissões nos diretórios do Oracle para eliminar o primeiro erro e, em seguida, renomeie a entrada de registro NLS_LANG para me livrar do segundo erro. O valor antigo era: AMERICAN_AMERICA.WE8MSWIN1252

Agora estamos movendo alguns novos relatórios para produção que usam procedimentos armazenados do Oracle e estão recebendo esse erro.

   --- End of inner exception stack trace ---
w3wp!processing!8!7/27/2009-09:26:09:: e ERROR: An exception has occurred in data source 'CSUD3_RPTAPL'. Details: Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Query execution failed for data set 'MYDATASET'. ---> System.Data.OracleClient.OracleException: ORA-06550: line 1, column 57:
PLS-00553: character set name is not recognized
ORA-06550: line 0, column 0:
PL/SQL: Compilation unit analysis terminated

Eu criei um procedimento de teste que simplesmente retorna

select 'test' "field1" from dual;

Obtém o mesmo erro. Hoje à noite eu tentarei configurar o NLS_LANG de volta ao seu valor antigo e ver se isso corrige os procedimentos - embora isso quebre os relatórios regulares da oracle. Se alguém tiver uma pista do que está acontecendo, por favor me esclareça.

Pelo que eu li, o cliente deve estar usando o banco de dados padrão se o conjunto de caracteres não estiver especificado no cliente.

    
por Sam 27.07.2009 / 19:17

1 resposta

1

A chave foi a primeira mensagem de erro:

ORA-12705: Não é possível acessar os arquivos de dados do NLS ou o ambiente inválido especificado.

O que levou a isso:

link

E, em seguida, um exame mais detalhado das permissões da pasta. Eu precisava conceder perms para usuários autenticados no diretório e subdiretórios ORACLE_HOME.

Trabalhando agora!

    
por 29.07.2009 / 02:15