Михаил - супер программист
Дата: 26.02.2007 17:49:21
Доброго времени суток!
Ситуация такая, у меня в базе есть несколько пакетов, во время их компиляции некоторые создаются с правами вызывающего, но я то так НЕ СТАВЛЮ!!!!
Не подскажите в чём дело и как с этим боротьтся?
Jannny
Дата: 26.02.2007 17:52:28
Барабашка? :) То есть вы говорите "компилируйся", а он компилит не так, как вы указываете? GUI-то какое?
tru55
Дата: 26.02.2007 17:53:00
Еще раз, подробнее и, желательно, на русском...
Михаил - супер программист
Дата: 27.02.2007 11:01:41
К примеру у меня есть пакет "A" и пакет "B".
Они оба компилируются и в них исполькуются примерно одинаковые типы эллеметов (курсоры, типы, константы и т.д.).
При этом пакет "А" вызывается с правами создателя, а пакет "В" с правами вызывающего.....
Почему? И как мне сделать вызов обоих пакетов с правами создателя?
ЯГИК
Дата: 27.02.2007 11:04:58
Читай мать его часть...
tru55
Дата: 27.02.2007 11:06:16
1. как определяшь права, с которыми вызываются?
2. по умолчанию "все хранимое" должно вызываться с правами создателя. Если это не так, надо смотреть исходники на предмет наличия AUTHID CURRENT_USER
Михаил - супер программист
Дата: 27.02.2007 11:14:05
tru55 |
1. как определяшь права, с которыми вызываются?
|
Я не выдавал ни каких прав на них....
tru55 |
2. по умолчанию "все хранимое" должно вызываться с правами создателя. Если это не так, надо смотреть исходники на предмет наличия AUTHID CURRENT_USER |
И этого я то же не ставил...
P.S. Самое интересное, что на некоторые пакеты у меня стаит право на выполнение для PUBLICа, но у них накой проблемы нет....))
ЯГЫК
Дата: 27.02.2007 11:17:15
Люди!!! Избавьте меня от суперпрограммистов!!!
Сил нет читать подобные топики!!!
Михаил - супер программист
Дата: 27.02.2007 11:17:53
Вот вам пример.
|
CREATE OR REPLACE PACKAGE pkg_flight_tasks AS /****************************************************************************** NAME: pkg_FLIGHT_TASKS PURPOSE:
REVISIONS: Ver Date Author Description --------- ---------- --------------- ------------------------------------ 1.0 21.02.2007 1. Created this package. ******************************************************************************/ -- CURSOR cur_flight_tasks RETURN flight_tasks%ROWTYPE;
CURSOR cur_flight_tasks (p_flight flight_tasks.flight%TYPE) RETURN flight_tasks%ROWTYPE; END pkg_flight_tasks; /
CREATE OR REPLACE PACKAGE BODY pkg_flight_tasks AS /****************************************************************************** NAME: pkg_FLIGHT_TASKS PURPOSE:
REVISIONS: Ver Date Author Description --------- ---------- --------------- ------------------------------------ 1.0 21.02.2007 1. Created this package body. ******************************************************************************/ CURSOR cur_flight_tasks RETURN flight_tasks%ROWTYPE IS SELECT * FROM flight_tasks ORDER BY number_tasks ASC;
CURSOR cur_flight_tasks (p_flight flight_tasks.flight%TYPE) RETURN flight_tasks%ROWTYPE IS SELECT * FROM flight_tasks WHERE flight = p_flight ORDER BY number_tasks ASC; END pkg_flight_tasks; /
|
И вот он вызывается с правами вызывающего!!!!!!
tru55
Дата: 27.02.2007 11:19:56
1.При этом пакет "А" вызывается с правами создателя, а пакет "В" с правами вызывающего
Вот это КАК определяешь?
2.на некоторые пакеты у меня стаит право на выполнение для PU
По моему, ты путаешь то, что указано в п.1 с GRANT EXECUTE