Oracle Proc到SQL Reporting Services:字符集名称不被识别

几个月前,在报表服务器上的Service Pack之后,Oracle查询停止在我们的报表服务服务器上工作。

我结束了必须授予对Oracle目录的权限以消除第一个错误,然后重命名NLS_LANGregistry项以摆脱第二个错误。 旧的价值是: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 

我创build了一个简单返回的testing过程

 select 'test' "field1" from dual; 

它得到相同的错误。 今晚我会尝试设置NLS_LANG回到它的旧值,看看是否修复程序 – 虽然它会打破常规oracle报告。 如果有人有什么线索,请赐教。

从我读过的,客户端应该使用数据库默认,如果没有在客户端指定的字符集。

关键是第一个错误信息:

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

导致了这一点:

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

然后仔细检查文件夹权限。 我需要在ORACLE_HOME目录和子目录上授权perms来validation用户。

现在工作!