Sql-Server
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 報告。如果有人知道發生了什麼,請賜教。
根據我的閱讀,如果客戶端上未指定字元集,則客戶端應該使用數據庫預設值。
關鍵是第一條錯誤消息:
ORA-12705: 無法訪問 NLS 數據文件或指定的環境無效。
這導致了這一點:
http://www.dba-oracle.com/t_ora_12705_error.htm
然後仔細檢查文件夾權限。我需要在 ORACLE_HOME 目錄和子目錄上向經過身份驗證的使用者授予權限。
現在工作!