Разглядывая
эту тему, и покопавшись в поисках необходимого патча, обнаружил, что для бедолаг, которые зачем-то ставят себе сейчас 11g, на ftp Сервис Плюса выложен текстовик:
/ORACLE/ORACLE/ORACLE_REP/dev6i_path.txt
Цитата: Отчеты, скомпилированные Report Builder 6.0.8.8 (6i стандартный для нас) с использованием базы Oracle 8.1.6, не выполняются на базе Oracle 11g из-за внутренней ошибки Oracle, при наличии в отчете вызова функции dbms_sql.define_column. Отчеты выполняются корректно на версиях 8,9,10.
Для Report Builder 6.0.8.8 существует патч, после применения которого версия построителя отчетов меняется на Report Builder 6.0.8.18.
Отчеты, скомпилированные Report Builder 6.0.8.18 с использованием базы Oracle 9i, выполняются на базе Oracle 11g корректно. Также отчеты выполняются на базах 8,9,10.
Для выполнения отчетов, скомпилированных Report Builder 6.0.8.18, на компьютер клиента необходимо обязательно устанавливать патч на клиент Oracle 8.0.6. Если патч не устанавливать, отчеты не выполняются. Если патч для Report Builder 6.0.8.18 установлен на клиент Oracle 8.0.6, то отчеты, скомпилированные в Report Builder 6.0.8.8 (без патча), работают с Oracle 8,9,10,11.
Патч может быть установлен на компьютер, на который ранее уже был установлен клиент Oracle 8.0.6 и какой-либо старший клиент. Установка патча Report Builder 6.0.8.18 на компьютер с уже установленными клиентами Oracle 8.0.6, 8.1.7, 9.2. и т.д. выполняется следующим образом:
1) Перед установкой патча необходимо остановить службу OracleMTSRecoveryService. Служба использует файлы из каталогов Oracle 8.0.6. Возможно, что остановки службы будет недостаточно, тогда надо перевести службу в режим Вручную и перестартовать компьютер. Если установлены не только клиенты, но и СУБД, то необходимо остановить все службы оракла (опыт не проводился).
2) При установке патча необходимо выбрать тот home, в котором установлен Oracle 8.0.6.
3) После установки патча необходимо воспользоваться HomeSelector для того, чтобы вернуть home по умолчанию на ту версию клиента, которая используется в качестве рабочей для Супермага (8.1.7 или выше). Убедиться, что в переменной среды Path каталог к Oracle 8.0.6 прописан после каталогов к более старшим версиям клиента.
4) Восстановить автостарт службы OracleMTSRecoveryService и запустить ее.
В дистрибутиве Супермага обнаружено 14 отчетов, использующих вызов функции dbms_sql.define_column. В 11 из них удалось отказаться от использования этих вызовов. Остальные три, в том числе СТО, могут быть скомпилированы и поставляться отдельно для тех клиентов, которые решат перейти на Oracle 11g. Полностью перейти на использование Report Builder 6.0.8.18 можно после согласия отдела сопровождения штатно на все компьютеры устанавливать дополнительно к клиенту Oracle 8.0.6 патч Report Builder 6.0.8.18.
резюмирую: для того, чтобы зачем-то использовать Oracle 11g сломали механизм репортсов и тем, кто хотел жить спокойно и на 11g обновляться не планировал. Т.е. тем, кто перешел на 11g, необходимо ставить патч, потому, что процедура с 11g неправильно работает. А поскольку разработчики тоже захотели геморроя на свою голову и поставили себе 11g, то старые репортсы с ней не работают и новые отчеты компилятся с новыми репортсами. То, что скомпилено с новыми репортсами, не работает со старыми репортсами. И те, кто хочет остаться на старых репортсах, остаются без новых отчетов. Тем, кто хочет обновлять версии Супермага, придется
прибить разраобновлять и репортсы на каждой машине, а они и так падают при любом чихе и не ставятся централизованно, поскольку отсутствует silent install и требуется нажимать кнопки, бегая по всем клиентским машинам. Печально. Очень.