2009-07-27 26 views
0

幾個月前,在報告服務器上的Service Pack之後,Oracle查詢停止在我們的報告服務服務器上工作。我最終不得不對Oracle目錄授予權限以消除第一個錯誤,然後重命名NLS_LANG註冊表項(有效地刪除它)以擺脫第二個錯誤。舊值爲:AMERICAN_AMERICA.WE8MSWIN1252Oracle Proc to SQL Reporting Services:字符集名稱不被識別

現在我們正在將一些新的報告轉移到使用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報告。如果有人知道發生了什麼,請賜教。

從我讀過的,客戶端應該使用數據庫默認如果沒有在客戶端指定字符集。

+0

您提到了一個「舊的」NLS_LANG值。這似乎意味着有一個不同的「新」NLS_LANG值 - 這個新值是什麼? – 2009-07-27 18:21:40

回答

0

的關鍵是第一個錯誤信息:

ORA-12705:無法訪問NLS數據文件或指定無效的環境。

而導致此:

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

然後將文件夾權限的仔細檢查。我需要將權限授予ORACLE_HOME目錄和子目錄中已通過身份驗證的用戶。

現在工作!