![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ORA-02064: distributed operation not supported
Sonia © (2007-09-06 13:01:00)Здравствуйте! Такой вопрос.
База с процедурой update_a_row лежит на одном сервере, на другом сервере есть dblink и синоним syn_proc_update_a_row на процедуру update_a_row. У процедуры update_a_row 2 параметра:
1) update-запрос, представленный в виде текстовой строки
2) параметр - результат выполнения (0 или 1) row_count
Чтобы выполнить процедуру update_a_row с другого сервера пишу:
syn_proc_update_a_row('update aircraft_arrivals set tar ='''|| pvalue||'''
where appn_row_id = '|| pappn_row_id, row_count);
где pvalue входной параметр типа varchar2, pappn_row_id типа number
Возникает данная ошибка. Подскажите, пожалуйста, в какую сторону "копать"?
Спасибо!!
evvcom (2007-09-06 15:11:00) [1]У тебя процедура на одном вызывает процедуру на другом, которая пытается выполнить динамический SQL. Насколько я помню, у Оракла что-то было об этом в ограничениях. Может и ошибаюсь, искать самому лень.
Sonia (2007-09-06 14:22:00) [2]
> Sergey13 © (06.09.07 13:13) [1]
Условия поставлены сторонними разарботчиками, я их менять не могу. Есть только вариант сделать промежуточную таблицу и повесить на нее триггер.
ЗЫ Мне вот тут подсказывают, что проблема кроется именно, что процедура лежит на одном сервере, а выполняется через другой. Отсюда вопрос: даже если создать промежуточную таблицу, то будет ли какая-то польза от этого (при условии, что я буду использовать второй сервер)?
Sergey13 (2007-09-06 13:13:00) [3]А зачем передавать запрос строкой? Он всегда произвольный? Если попробовать использовать в процедуре нормальный (не динамический) запрос, прокатит?