Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
RS 2005 и Oracle 9.2.0.8
|
|||
|---|---|---|---|
|
#18+
Помогите пожалуйста со следующей проблемой: Есть процедура, возвращающая курсор, внутри процедуры много with, отхинтованных где-то inline, а где-то materialize. Я знаю, что недокументированными хинтами пользоваться не рекомендуется, но без них процедура просто не работает. Так вот, если вызывать её в PL/SQL Developer'е, то она отрабатывает корректно, однако же будучи помещенной в Reporting Services даёт ошибку "ORA-32036: не поддерживаемый случай подстановки имени запроса во фразу WITH", с которой я и пытался бороться хинтами. Судя по всему, оптимизатор при пуске процедуры из RS выбирает другой план запроса, нежели при пуске из интерфейса developer'a. Мне бы хотелось заставить процедуру всегда выполняться по одному и тому же плану. Проблема еще и в том, что план запроса, который падает, я посмотреть не могу, т.к. судя по всему парсер его не осиливает и говорит, что не хватает скобки. Посоветуйте, что можно сделать плз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2010, 18:01 |
|
||
|
RS 2005 и Oracle 9.2.0.8
|
|||
|---|---|---|---|
|
#18+
Может я не совсем правильно понял, поправьте если так. Вы поместили процедуру в RS. Вопрос - зачем? Почему бы ее просто не вызвать, а там уж оракл разберется, с каким планом ее вызывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2010, 18:26 |
|
||
|
RS 2005 и Oracle 9.2.0.8
|
|||
|---|---|---|---|
|
#18+
buvenМожет я не совсем правильно понял, поправьте если так. Вы поместили процедуру в RS. Вопрос - зачем? Почему бы ее просто не вызвать, а там уж оракл разберется, с каким планом ее вызывать? А как можно поместить процедуру в RS? Нет, я вызываю процедуру из RS, но это каким-то образом меняет план запроса. Судя по всему - из-за изменения параметров сессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2010, 09:03 |
|
||
|
RS 2005 и Oracle 9.2.0.8
|
|||
|---|---|---|---|
|
#18+
ahtolllkabuvenМожет я не совсем правильно понял, поправьте если так. Вы поместили процедуру в RS. Вопрос - зачем? Почему бы ее просто не вызвать, а там уж оракл разберется, с каким планом ее вызывать? А как можно поместить процедуру в RS? Нет, я вызываю процедуру из RS, но это каким-то образом меняет план запроса. Судя по всему - из-за изменения параметров сессии. Как вы вызываете процедуру? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2010, 13:31 |
|
||
|
RS 2005 и Oracle 9.2.0.8
|
|||
|---|---|---|---|
|
#18+
tarrus, Создаю параметры отчёта, в которые принимаю данные от пользовательского ввода. Создаю dataset с подключением: Type: Oracle, username и password прописываю явно. Впоследствии это подключение заменяется shared dataset'ом. В dataset'e Command Type текста выставляю Stored Procedure, в Query String пишу <имя пакета>.<имя процедуры>. На вкладке parameters задаю привязку входящих переменных к заведённым параметрам отчёта. Курсор нигде не прописываю. P.S. Сейчас линеаризовал граф связей в проблемном селекте внутри процедуры (так, что каждый блок в части with используется не более 1 раза и не требует материализации), всё стало работать, но решение крайне некрасивое, т.к. дублируются около 10 блоков в with, поэтому проблема остаётся актуальной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2010, 15:31 |
|
||
|
RS 2005 и Oracle 9.2.0.8
|
|||
|---|---|---|---|
|
#18+
ahtolllka, Попробуйте вызывать вашу процедуру через текстовый сценарий, а параметры передавать через создание текста сценария посредством выражения и склейки нужной строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2010, 09:15 |
|
||
|
RS 2005 и Oracle 9.2.0.8
|
|||
|---|---|---|---|
|
#18+
tarrus, А курсор сможет передаваться из неименованного блока текстового сценария? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2010, 13:45 |
|
||
|
RS 2005 и Oracle 9.2.0.8
|
|||
|---|---|---|---|
|
#18+
ahtolllkatarrus, А курсор сможет передаваться из неименованного блока текстового сценария? Я не понимаю что такое "неименованный блок текстового сценария". Текстовый сценарий это просто текст который уйдет на выполнение на сервер, сервер должен вернуть некий набор, который будет обработан отчетным сервером и отображен, если наборов придет несколько, то обработан отчетным сервером будет первый, т.е. любой скрипт должен всегда возвращать первым тот набор, который вы хотите использовать в отчете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 09:21 |
|
||
|
|

start [/forum/topic.php?fid=31&msg=36771656&tid=1535348]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 10ms |
| total: | 116ms |

| 0 / 0 |
