Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.24;
Скачать: CL | DM;

Вниз

Не понятное с 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 разрешенные объекты



Страницы: 1 вся ветка

Текущий архив: 2002.01.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
3-75496
Kirill
2001-12-18 17:32
2002.01.24
ADO и новая запись


3-75463
night
2001-12-18 11:22
2002.01.24
Как сделать плавную проктрутку в DBGrid???


3-75473
vinni2000
2001-12-17 13:08
2002.01.24
Что делать?


3-75513
Kouzmine
2001-12-18 16:27
2002.01.24
Сообщение Table is full Кто поможет?


1-75629
dima2002
2002-01-08 20:57
2002.01.24
Мастера!!! подскажите !!!