Назад | Перейти на главную страницу

Oracle Proc to 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 его старое значение и посмотреть, исправит ли это процедуры - хотя это нарушит обычные отчеты оракула. Если кто-то понимает, что происходит, пожалуйста, просветите меня.

Из того, что я прочитал, клиент должен использовать базу данных по умолчанию, если кодировка не указана на клиенте.

Ключ был первым сообщением об ошибке:

ORA-12705: Невозможно получить доступ к файлам данных NLS или указана недопустимая среда.

Что привело к этому:

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

А затем более пристальный анализ разрешений для папок. Мне нужно было предоставить разрешения аутентифицированным пользователям в каталоге ORACLE_HOME и подкаталогах.

Работает в настоящее время!