几个月前,在报表服务器上的Service Pack之后,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报告。如果有人知道发生了什么,请赐教。
根据我的阅读,如果客户端上未指定charset,则客户端应使用数据库缺省值。
答案 0 :(得分:0)
密钥是第一条错误消息:
ORA-12705:无法访问NLS数据文件或指定的无效环境。
导致了这个:
http://www.dba-oracle.com/t_ora_12705_error.htm
然后仔细检查文件夹权限。我需要在ORACLE_HOME目录和子目录上向经过身份验证的用户授予权限。
立即行动!