Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
13.05.2021, 13:31
|
|||
---|---|---|---|
|
|||
Из Пакета не видит таблицу в другой схеме с выданными правами. |
|||
#18+
Добрый день. В схеме s1 создали grant на s2 (через роль на чужой объект есть привилегия на select) Из схемы s1 -> Select * from s2.t1 выполняется нормально, но если создать пакет в схеме s1 и в нем написать Select * from s2.t1, то говорит что не видит таблицу или представление(ORA-00942 table or view does not exist). На одном из форумов нашел ответ на похожую ситуацию: Нужен грант на "grant references", но почему в чем смысл, ведь references относится к (REFERENCES Возможность создавать CONSTRAINT, который ссылается на таблицу.) или в чем-то другом проблема может быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.05.2021, 13:41
|
|||
---|---|---|---|
Из Пакета не видит таблицу в другой схеме с выданными правами. |
|||
#18+
dismay Добрый день. В схеме s1 создали grant на s2 (через роль на чужой объект есть привилегия на select) Из схемы s1 -> Select * from s2.t1 выполняется нормально, но если создать пакет в схеме s1 и в нем написать Select * from s2.t1, то говорит что не видит таблицу или представление(ORA-00942 table or view does not exist). Нужно дать грант непосредственно пользователю S1. Не через роль. Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.05.2021, 15:55
|
|||
---|---|---|---|
|
|||
Из Пакета не видит таблицу в другой схеме с выданными правами. |
|||
#18+
Нашел ответ тут: https://coderoad.ru/4198052/oracle-table-or-view-does-not-exist-изнутри-хранимой-процедуры CREATE OR REPLACE PROCEDURE PRC_SOMESP AUTHID CURRENT_USER AS l_cnt pls_integer; BEGIN EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM yyy.TableA' INTO l_cnt; END PRC_SOMESP; А именно AUTHID CURRENT_USER + Динамику. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.05.2021, 01:31
|
|||
---|---|---|---|
|
|||
Из Пакета не видит таблицу в другой схеме с выданными правами. |
|||
#18+
а вы попытались почитать (в документации, например), что значит dismay AUTHID CURRENT_USER и к чему приведёт вызов этой процедуры каким-нибудь другим пользователем? ЗЫ даже если прочитали - не делайте так. проклянут. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.05.2021, 13:15
|
|||
---|---|---|---|
|
|||
Из Пакета не видит таблицу в другой схеме с выданными правами. |
|||
#18+
Каюсь, но человеку нужно был просто select into внутри процедуры в табличку его схемы, а из-за того что была выдана роль, привилегии на PL\SQL блоки не распространяются при этом, поэтому в процедуре не получалось сделать select из таблицы в другой схеме, ну понятно что в чистом sql получалось. Процедуру будет выполнять только один человек, ему для теста. https://oracle-patches.com/db/sql/3980-modeli-razresheniy-prav-oracle-i-programmirovanie-na-pl-sql ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=52&mobile=1&tid=1880188]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 262ms |
0 / 0 |