Sql-Server

Oracle Proc 到 SQL Reporting Services:字元集名稱無法辨識

  • July 29, 2009

幾個月前,在報告伺服器上的服務包之後,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 目錄和子目錄上向經過身份驗證的使用者授予權限。

現在工作!

引用自:https://serverfault.com/questions/46604