Oracle Proc 到 SQL Reporting Services:无法识别字符集名称

Oracle Proc 到 SQL Reporting Services:无法识别字符集名称

几个月前,在报告服务器上安装了一个服务包后,Oracle 查询在我们的报告服务服务器上停止了工作。

我最终不得不授予 Oracle 目录的权限以消除第一个错误,然后重命名 NLS_LANG 注册表项以消除第二个错误。旧值为:AMERICAN_AMERICA.WE8MSWIN1252

现在我们正在将一些使用 Oracle 存储过程的新报告投入生产,并且它们出现了这个错误。

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

我创建了一个测试程序,它只返回

select 'test' "field1" from dual;

它得到同样的错误。今晚我将尝试将 NLS_LANG 重新设置为旧值,看看是否能修复程序 - 尽管这会破坏常规的 Oracle 报告。如果有人知道发生了什么,请告诉我。

据我所知,如果客户端未指定字符集,则客户端应该使用数据库默认值。

答案1

关键是第一个错误信息:

ORA-12705:无法访问 NLS 数据文件或指定了无效的环境。

这导致了这样的结果:

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

然后仔细检查文件夹权限。我需要向经过身份验证的用户授予 ORACLE_HOME 目录和子目录的权限。

现在正在工作!

相关内容