Форум: "Базы";
Текущий архив: 2008.01.13;
Скачать: [xml.tar.bz2];
ВнизORA-02064: distributed operation not supported Найти похожие ветки
← →
Sonia © (2007-09-06 13:01) [0]Здравствуйте! Такой вопрос.
База с процедурой 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
Возникает данная ошибка. Подскажите, пожалуйста, в какую сторону "копать"?
Спасибо!!
← →
Sergey13 © (2007-09-06 13:13) [1]А зачем передавать запрос строкой? Он всегда произвольный? Если попробовать использовать в процедуре нормальный (не динамический) запрос, прокатит?
← →
Sonia © (2007-09-06 14:22) [2]
> Sergey13 © (06.09.07 13:13) [1]
Условия поставлены сторонними разарботчиками, я их менять не могу. Есть только вариант сделать промежуточную таблицу и повесить на нее триггер.
ЗЫ Мне вот тут подсказывают, что проблема кроется именно, что процедура лежит на одном сервере, а выполняется через другой. Отсюда вопрос: даже если создать промежуточную таблицу, то будет ли какая-то польза от этого (при условии, что я буду использовать второй сервер)?
← →
evvcom © (2007-09-06 15:11) [3]У тебя процедура на одном вызывает процедуру на другом, которая пытается выполнить динамический SQL. Насколько я помню, у Оракла что-то было об этом в ограничениях. Может и ошибаюсь, искать самому лень.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2008.01.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c