2009-07-27 8 views
0

Il y a quelques mois, les requêtes Oracle cessaient de fonctionner sur notre serveur de services de reporting après un service pack sur le serveur de rapports. J'ai fini par devoir accorder des permissions sur les répertoires Oracle pour éliminer la première erreur et ensuite renommer l'entrée de registre NLS_LANG (en la supprimant effectivement) pour se débarrasser de la seconde erreur. L'ancienne valeur était: AMERICAN_AMERICA.WE8MSWIN1252Oracle Proc à SQL Reporting Services: le nom du jeu de caractères n'est pas reconnu

Maintenant, nous déplaçons de nouveaux rapports en production qui utilisent des procédures stockées Oracle et ils reçoivent cette erreur.

--- 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 

J'ai créé une procédure de test qui retourne simplement

select 'test' "field1" from dual; 

Il obtient la même erreur. Ce soir, je vais essayer de remettre NLS_LANG à sa vieille valeur et de voir si cela corrige les procédures - bien que cela brise les rapports d'Oracle ordinaires. Si quelqu'un a une idée de ce qui se passe, s'il vous plaît, éclaire-moi. D'après ce que j'ai lu, le client devrait utiliser la base de données par défaut si le jeu de caractères n'est pas spécifié sur le client.

+0

Vous mentionnez une "ancienne" valeur NLS_LANG. Cela semble impliquer qu'il existe une "nouvelle" valeur NLS_LANG différente - quelle est cette nouvelle valeur? –

+0

La nouvelle valeur est rien - j'ai renommé la clé de registre. Cela signifie que le client doit utiliser le paramètre de serveur. C'était pour corriger une erreur. – Sam

+0

Quelles ont été les erreurs après le Service Pack? vous mentionnez que Oracle "a cessé de fonctionner", cela signifie-t-il que la base de données n'a pas pu démarrer? Avez-vous supprimé le paramètre NLS_LANG sur le serveur ou sur le client? –

Répondre

0

La clé a été le premier message d'erreur:

ORA-12705: Impossible d'accéder à des fichiers de données ou NLS environnement invalide spécifié.

qui a conduit à ceci:

http://www.dba-oracle.com/t_ora_12705_error.htm

Et puis un examen plus approfondi des autorisations de dossier. J'avais besoin d'accorder des perms aux utilisateurs authentifiés sur le répertoire ORACLE_HOME et les sous-répertoires.

De travail maintenant!

Questions connexes