Вызов PostgreSQL функции из операции в IBSO
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Sniffer Участник
Вступление в Клуб: 24.11.2009
|
Ср Сен 18, 2013 16:48  Вызов PostgreSQL функции из операции в IBSO |
|
Полезность: Нет оценки
|
Взаимодействие с внешней системой реализовано по dblink на базу PostgreSQL. Выборка и манипуляция записями проходит нормально. Но потребовалось вызвать процедуру на стороне PostgreSQL из операции IBSO и вот тут начались проблемы. Вызов осуществляю так:
Код: | change_tr_st := DBMS_HS_PASSTHROUGH.EXECUTE_IMMEDIATE@to_pgsproc('select "setTransState"(trn_id:=' || to_char(trn_id) ||', st_code:=''5000'')');
|
причем через SQL Navigator и sqlplus это вызов отрабатывает нормально, а в операции выводит ошибку:
"невозможно подсоединить действующую распределенную транзакцию"
поиск привел к тому что вызов надо осуществлять из автономной транзакции
сделал функцию
Код: | function change_trans(trn_id number) return boolean
is
PRAGMA AUTONOMOUS_TRANSACTION;
change_tr_st number;
begin
-- begin pl/sql
change_tr_st := DBMS_HS_PASSTHROUGH.EXECUTE_IMMEDIATE@to_pgsproc('select "setTransState"(trn_id:=' || to_char(trn_id) ||', st_code:=''5000'')');
commit;
-- end pl/sql
end;
|
Теперь операция ругается сообщением
неверна операция OCI
ORA-01010: неверна операция OCI
ORA-02063: предшествующий line из TO_PGSPROC
ORA-06512: на "IBS.Z$ESH_EXTSYSTEM_LOAD_PROC_CRED", line 13
ORA-06512: на "IBS.Z$ESH_EXTSYSTEM_LOAD_PROC_CRED", line 245
ORA-06512: на "IBS.Z$ESH_EXTSYSTEM_LOAD_PROC_CRED", line 323
ORA-06512: на "IBS.Z$U$2274446128", line 66
ORA-06512: на line 1
Куда дальше копать ума не приложу. Может кто-то сталкивался с подобной проблемой....
дополнительная информация:
Oracle 11.2.0.3
Версия ТЯ 7.1.1.6 |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|