Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];




Вниз

Не понятное с view V_$Session 


kat   (2001-12-21 14:30) [0]

У меня вот какая проблема, помогите пожалуйста
Ораковскаю функция
Function Pr return varchar2 is
vv varchar2(100) default "";
cursor a is
select view_name from ALL_VIEWS
WHERE VIEW_NAME = "V_$SESSION";
begin
open a;
fetch a into vv;
close a;
return vv;
end Pr;
вызываю функцию в дельфе - showmessage(OraclePackage.CallStringFunction("pr",[]))И мне показывается пустое ShowMessage;
Пишу в TOracleDataSet
select view_name from ALL_VIEWS
WHERE VIEW_NAME = "V_$SESSION";
И мне выдается строчка
Почему так получается? Если вместо V_$Session написать, например, ALL_CATALOG, то все работает, а как только написано что-то с $ в названии - проблема. Что означает $ в названии?



petr_v_a   (2001-12-21 15:19) [1]

А владелец ф-ции пользователь, под которым идет запрос в TOracleDataSet - одно то же лицо? процедура/ф-ция/пакет выполняются с правами их владельца, и ALL_VIEWS будет выдавать те же записи, что и owner`у объекта.
$ в названиии - признак т.н. Dynamic Perfomance View, то есть view, которое реально не занимает места в базе, а отображает стуктуры памяти экземпляра. Для V_$SESSION есть public synonym V$SESSION, лучше использовать его ( иначе надо обращаться sys.v_$session )



kat   (2001-12-21 15:51) [2]

Строчки
select view_name from ALL_VIEWS
WHERE VIEW_NAME = "V_$SESSION"
меняю на следующие
select USER || " " || TO_CHAR(count(*)) from SYS.ALL_VIEWS
И у меня получается, что User один и тот же везде, но
Выдается
VIC 572 - вызвать функцию из пакета
и
VIC 1394-сформировать запрос
Не видно кучу функций, не только с $ в названии. Почему?



petr_v_a   (2001-12-21 16:07) [3]

ф-ция user действительно выдает одно и тоже из SQL и PL/SQL - пользователя, под которым прозошел коннект, но контекст ALL_VIEWS меняется.
чтоб узнать владельца ф-ции, скажите
select OWNER,OBJECT_NAME,OBJECT_TYPE
from ALL_OBJECTS
where OBJECT_NAME= :название_Вашей_функции



kat   (2001-12-21 16:16) [4]

Функция сохранена в пакете, Owner этого пакета VIC



petr_v_a   (2001-12-21 16:47) [5]

Значит, 1394 - 572 объектов доступны VIC через роли



kat   (2001-12-21 16:53) [6]

А как посмотреть какую надо дать роль, чтобы видеть все view?



petr_v_a   (2001-12-21 16:57) [7]

а она будет видеть только прямо ( не через роль ) или через select/execute any разрешенные объекты




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.019 c
3-75527           Ross                  2001-12-19 20:25  2002.01.24  
Трудный вопрос для меня. Надо заменить:


1-75569           Azeroth               2002-01-06 17:05  2002.01.24  
Как запустить чужое приложение из своего


3-75495           Havez                 2001-12-19 18:52  2002.01.24  
Постоянно портится Autoincrement поле


3-75475           Дмитрий Калинин       2001-12-19 11:54  2002.01.24  
Excel


1-75577           Vacheslav             2002-01-06 20:52  2002.01.24  
Подскажите алгоритм