幾個月前,在報告服務器上的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報告。如果有人知道發生了什麼,請賜教。
從我讀過的,客戶端應該使用數據庫默認如果沒有在客戶端指定字符集。
您提到了一個「舊的」NLS_LANG值。這似乎意味着有一個不同的「新」NLS_LANG值 - 這個新值是什麼? – 2009-07-27 18:21:40