Вызов функций через DBlink

owb_b
Дата: 13.11.2008 15:24:17
Доброго времени суток!!!
есть База А и база Б. Между этими базами есть Dblink
в базе А есть функция которую надо вызвать в базе Б
для этого
1 создал дблинк
2 создал public synonym "create or replace synonym PACKAGE_NAME for OWNER.PACKAGE_NAME@DLink_name"
дал GRANT на Execute
проблема в следующем:
в базе Б запускаю функцию вот так
select PACKAGE_NAME.FUNCTION_NAME@DLink_name(PARAMETER)
from dual;

некоторые пакеты возвращает значение а некоторые просто "NULL" хотя поидеи там должно быть значение
expla
Дата: 13.11.2008 15:48:40
А зачем тут синоним, если ты всё равно в запросе указываешь полное имя функции?

ИМХО, ты либо вызываешь разные функции, либо в твоей функции ошибка.
spb_kostya
Дата: 13.11.2008 18:17:11
у нас это в другую сторону сделано.
дблинк на А в базе Б (при этом существует пользователь типа линкюзер, черз которого сам линлк создается)
в базе А грант на исполнение функции для линкюзер
из базы Б вызывается как Функция@дблинк(параметры)

вроде работает стабильно
SimonInBlues
Дата: 13.11.2008 20:34:39
owb_b,

1). какие типы данных у тех пакетных функций, которые ничего не возвращают?
2). если выполнить эти функции на их родной базе, то они работают корректно?
owb_b
Дата: 14.11.2008 05:23:47
да конечно работают вот именно и самое интересное некоторые функции возвращают значение а некоторые нет(основной базе где функция там функция работает)
есть подозрение что надо еще дать грант на все таблицы которые участвуют выборке данных внутри функции?
SimonInBlues
Дата: 14.11.2008 17:57:43
owb_b,

можешь показать те функции что работают, и отдельно те - что нет?
Andrey.L
Дата: 14.11.2008 18:01:34
owb_b
есть подозрение что надо еще дать грант на все таблицы которые участвуют выборке данных внутри функции?
Подозрение неверное.
andrey_anonymous
Дата: 14.11.2008 18:34:40
Andrey.L
owb_b
есть подозрение что надо еще дать грант на все таблицы которые участвуют выборке данных внутри функции?
Подозрение неверное.

Вообще-то зависит от функции...
Andrey.L
Дата: 14.11.2008 18:47:20
andrey_anonymous
Andrey.L
owb_b
есть подозрение что надо еще дать грант на все таблицы которые участвуют выборке данных внутри функции?
Подозрение неверное.

Вообще-то зависит от функции...
Если функция в автономной транзакции, то было бы сообщение об ошибке.
andrey_anonymous
Дата: 14.11.2008 18:50:26
Andrey.L
andrey_anonymous
Andrey.L
owb_b
есть подозрение что надо еще дать грант на все таблицы которые участвуют выборке данных внутри функции?
Подозрение неверное.

Вообще-то зависит от функции...
Если функция в автономной транзакции, то было бы сообщение об ошибке.

А если функция authid current user и применяется RLS, тогда как?